随机数:

random模块

  import random
random.randint(1,2)   #[1,2] random.randrange(1,2)   #[1,2)   random.choice(lst) #从一个列表中随机选择一个元素出来   random.shuffle(lst) #打乱列表(效率低) random.sample(lst,#) 在lst中随机取#个样本,每个样本只能取1次,并输出列表     元组tuple :不可变的(与只读列表很像)   表示: t1 = () t2 = tuple() t3 = (1) #这个不是元组 t4 = (1,) #这个是,必须有逗号 t5 = (1,2,[1,2,3],'a') t6 = tuple(lst) t7 = tuple(range(4)) 元组:一旦创建,不可改变 可以更改元组内的列表,只改变列表,但是地址(门牌号)不会改变   t8 = (1,)*5 (1,1,1,1,1)   如果要改: l8 = list(t8) #转换成列表再改   index(t1) count(#)     命名元组namedtuple #也是不能修改的 point = namedtuple('point',['x','y']) p1 = point(3,4) 打印p1 point(x=3,y=4)   point类型是type (类)   例: Student = nametuple('A','name,age') tom = Student('tom',20) 打印tom A(name='tom',age=20)   nametuple?? ##显示源码       冒泡法 从左至右,两两比较排列   优化思想: 如果在一次循环中没有发生交换,就是已经达到目标顺序,则不用再交换    

字符串

x = 1 y = 4 s1 = f"{x}->{y}" 打印 {1}->{4} s1可以被索引、迭代,但一旦定义,不可更改       连接列表 “。。”.join(['1','2','3']) 用。。连接列表中字符串 打印出: ‘1。。2。。3’ 例如前面‘。。’改成\n可以换行   map(str,range(10)) 更改类型 map: 映射     s4 = ','.join('abcdef')   s4.split(',') #默认使用空白字符分割,尽量长的找空白字符,立即返回一个列表 括号内为切割分隔符 s5.split(maxsplit=2) #maxsplit:最大切割数 s5.rsplit(maxsplit=2) #从右向左切 s5.splitlines() 按换行符切,并不保留,()内加True保留换行符   s4.partition(',') #返回一个三元组        #切一刀         #保留分隔符 ‘aBcD’.lower :全变小写 ‘aBcD’.upper :全变大写 'aBcD'.swapcase() :大小写互换   s10.title() s10.capitalize() s10.center(30,'0') 居中,0填充 str(1).zfill(10) '1'.ljust #左对齐 '1'.rjust #右对齐   '1'.replace('a','the',n) #把a换成the,执行n次,最后可不加 #如没有搜到,不替换,生成新的字符串   s1.replace(' ', ' \t).split().append('c') #链式编程     S.strip() #默认将两端空白字符去掉 () #去掉直到括号内的所有字符     S.index('very') #查找索引,从0开始,查不到报错 S.find('vectory') #返回负数表示没有找到,找到返回索引 S.rfind('v') #从右开始找索引   S.startswith('x',4,6) 判断字符串是否以x开头(后面可以指定区间),输出为bool S.endswith('x',4,10) 判断是否x结尾,输出为bool     字符串格式化   %03d(f) #以×××数字(浮点型)打印,占用3个位置,用0补 %04s #以字符串类型打印,用空格补位   'my name is %s, i am %d' % (wayne,30) 后面只能跟一个,可以用元组        

*******重要

format #函数格式化字符串

'{} {} {}'.format(1,2,['a']) #{}表示一个参数,以字符串形式输出,可以溢出

例 '{2}{1}{0}'.format(1,2,[a]) 打印出 [a]21

import datetime d=datetime.datetime.now() '{}'.format.(d)