python---10月,一个月python,p { margin
python---10月,一个月python,p { margin
7.ReverseInteger
将整数翻转。注意123000翻转为321,-123翻转为-321:
方法7.ifx<0:
x=-1*int( str(0-x)[::-1] )
else:
x=int(str(x)[::-1])
转为字符串形式,x《0时 先 0-x变为整数。
注意: int 可以直接把整数前面 的0 去掉。
Python3中比较
Importoperator
operator.lt(a,b) less than
operator.le(a,b)
operator.eq(a,b)
operator.ne(a,b)
operator.ge(a,b)
operator.gt(a,b)
再次复习range的用法:
Range(5) 则 为0到4
Array= [1,2,3,4,5]
Array[0:] 从标号0开始
Array[:-1]列出-1之前的。:代表省略的
43 2 1
Array【3:-3】:
两个: 表示 以某个step跳步
如array【::2】 冒号在前面。
range(6,1,-1)意思是从6到1,间隔-1,-1的意思是倒着数。
2018年10月10日19:29:04
通俗的理解__name__== ‘__main__‘:假如你叫小明.py,在朋友眼中,你是小明(__name__== ‘小明‘);在你自己眼中,你是你自己(__name__== ‘__main__‘)。
if__name__ == ‘__main__‘的意思是:当.py文件被直接运行时,if__name__ == ‘__main__‘之下的代码块将被运行;当.py文件以模块形式被导入时,if__name__ == ‘__main__‘之下的代码块不被运行。
Lee27remove element
##注意读懂题目
#Given an array nums and a value val,
# remove all instances ofthat value in-place and return the new length.
# Do not allocateextra space for another array,
# you must do this by modifyingthe input array in-place with O(1) extra memory.
# The order ofelements can be changed. It doesn‘t matter what you leave beyond thenew length.
#只要求返回长度
classSolution(object):
def removeElement(self,nums,val):
"""
:type nums: List[int]
:type val: int
:rtype: int
"""
length=0
foriinxrange(len(nums)):
if nums[i]!=val:
nums[length]=nums[i]
length +=1
returnlength
比如【12 2 4 5 】运行后为 【12 5
Xrange区别range
Xrange使用生成器,占用的空间小。
defremoveElement(self,nums, val):
whileval innums:
nums.remove(val)
returnlen(nums)
2018年10月22
在pycharm中自定义了一个user类
在其他地方进行实例化时,newUser = user()user下方总是有红色的下划线。这种情况未必是错误,也可能是因为命名,格式等不符合规范。将类名改为 User,首字母大写,问题解决。
另外,newUser= user() user下方有红色下划线,也可以去类user下看情况的。
很多时候,报错在一句。当你怎么都看不出来错误的时候,可以看看上一句。说不定错误就在那里呀。
四、python知识
4.1heapq堆的使用
假设需要维护一个列表,这个列表不断有新的元素加入,你需要在任何时候很方便的得到列表中的最大(小)值,因此要求列表始终处于排序完毕状态,。
一个最简单的方法:每次插入新的数据时,调用一次sort方法,这样可以保证列表的顺序。
在数据量很小的情况下,这种方法可行。但是,sort方法实现并不高明,采用了自然归并排序,虽然排序开销已经被尽量的压缩了,复杂度大概是O(nlogn)
。
Importheapq
另一种解决方案就是heapq,它是Python的一个标准库。heapq实现了一种叫做堆的数据结构,是一种简洁的二叉树。他能确保父节点总是比子节点小,
heappush(self.event_queue,(first_record_time, "Monitor")) 将(first_record_time,"Monitor") push到self.event_queue(是一个列表中)中
heappop(self.event_queue,(first_record_time, "Monitor"))
4.2Queue的使用
队列,可以实现fifo,lifo,或者其他的优先级输出。
self.user_queue=queue.Queue()
self.user_queue.get()
self.user_queue.put(a)
4.3类
4.3.1类属性和类实例属性
classStudent(object):
count= 0
books= [] #类属性,所以的实例 共有的
def__init__(self, name, age):
self.name= name
self.age= age #类实例属性,不同的实例各自拥有
4.3.2类方法和实例方法
实例方法def haha(self):参数是self
类方法 def wei(cls): 参数是cls
4.3.3类的相互作用
在一个类中,可以生成另一个类的实例。
比如在类windows里,next_user= User(next_user_arrive_time)
使用了类User,新生成实例next_user,传入的参数是next_user_arrive_time
4.4其他
importqueue
Py3中为小写,py2中为Queue queue.Queue
堆的这种数据结构:是一个二叉树,
Heapq模块可以 对 堆进行操作
Pytnon里numpy里有现成的生成服从某个概率分布的随机变量,而且可以自己设置参数和随机数的数量。numpy.random.beta(a,b[, size]) Beta分布随机变量
numpy.random.binomial(n,p[, size]) 二项分布随机变量
numpy.random.chisquare(df[,size]) 卡方分布随机变量
numpy.random.dirichlet(alpha[,size]) 狄利克雷分布随机变量
numpy.random.exponential([scale,size]) 指数分布随机变量
numpy.random.geometric(p[,size]) 几何分布随机变量
numpy.random.normal([loc,scale, size]) 正态分布随机变量
numpy.random.poisson([lam,size]) 泊松分布随机变量
numpy.random.uniform([low,high, size]) 均匀分布随机变量
numpy.random.wald(mean,scale[, size]) Wald分布随机变量
4.5写代码中碰到的错误
经常见到的错误:仔细寻找错误的根源,一般是调用某个子函数时,子函数内部出的问题。导致主函数运行到这一步时,执行不下去了,就报了个错
Traceback(most recent call last):
File"/home/zhangyanhe/PycharmProjects/test/排队论.py",line 72, in <module>
mm1.start_sim()
File"/home/zhangyanhe/PycharmProjects/test/排队论.py",line 41, in start_sim
handle_event(a[1])
File"/home/zhangyanhe/PycharmProjects/test/排队论.py",line 51, in handle_event
user_queue.put(next_user)
TypeError:put() missing 1 required positional argument: ‘item‘
2018年10月24日19:47:28
NS3第四次作业
用py查找文件
-----------------------------------------------------
2018年10月26日13:37:14
写完这部分,读历史记录进行总结
混合编程问题python 和cc
Waf大概就是基于python的一个类似make的程序。其实可以在python中直接调用cc程序的啊绝对是可以的。生成动态链接库.so文件,到python中调用。但是这个方法对c很成立。在c++中有各种问题。很烦人.不要读中文博客,很多傻逼写的东西。
问题:gcc找不到头文件:在最后用-I是i不L选项 把目录加上编译:
先实践,然后写写原理:
vim查找:在normal模式下按下/即可进入查找模式,输入要查找的字符串并按下回车。Vim会跳转到第一个匹配。按下
n查找下一个,按下
N查找上一个。
走了很远了 2018年10月26日21:34:31
1.使用swig实现c++链接到python中的操作。http://cering.github.io/2015/12/08/%E4%BD%BF%E7%94%A8SWIG%E5%AE%9E%E7%8E%B0Python%E8%B0%83%E7%94%A8C-C-%E4%BB%A3%E7%A0%81/
碰到问题:gcc找不到python.h,设置环境变量,增加gcc的搜索路径:$C_INCLUDE_PATH=/opt/example/include
$exportC_INCLUDE_PATH
$CPLUS_INCLUDE_PATH=/opt/example/include
$exportCPLUS_INCLUDE_PATH
$LIBRARY_PATH=/opt/example/lib
$exportLIBRARY_PATH
还是没搞定:很多不懂的啊。底层的东西都不明白。慢慢来。放弃此题。
2018年10月27日12:17:02py练习题2数据库mysql
https://blog.csdn.net/San_South/article/details/80715682
linux下pipUbuntu16.04上pip报错ModuleNotFoundError:No module named ‘pip._internal‘
python---10月
相关内容
- python字符串连接的三种方法及其效率、适用场景详解,
- python注册、登录,python注册登录,#1、实现注册功能#
- Python 基础知识,Python基础知识,基础只是打印出hel
- 【Python】【基础知识】【异常】【Python的异常】报错、
- 解析prototxt文件的python库 prototxt-parser(使用parsy自定义文
- Python 环境安装教程(Windows 10),windows10安装教程,Pyt
- Python条件判断,条件判断,Python条件判断
- python----动态规划,python动态规划,不能放弃治疗,每天都
- Python3 tkinter基础 Canvas create_line 画实线与虚线,实线,
- python读取MNIST image数据,python读取数据,Lecun Mnis
评论关闭