一、创建列表的几种方法

  x=list(range(1,100))

  x=[ ]

  for i in range(1,100):

  x.append(i)

  x=[i+2 for i in range(1,100)]

  表示对每一个i进行+2的操作

  结果为[3,4, …99,100,101]

  x=[ ]

  for i in range(1,100)

  x=x+[i]

  二、随机数的使用

  注意:使用前要 import random

  random.random()产生一个0到1之间的随机数

  random.randint(a,b)产生一个a,b之间的整数随机数

  random.shuffle(x) x表示一个列表,此用法将随机打乱列表的顺序

  random.choice(x) x表示一个列表,从元组里面随机挑出一个元素

  产生100个1-100之间属随机数:

  x=[random.randint(1,100) for i in range(100)]

  三、列表删除元素的几种用法

  7. x.pop(i) 函数用法:( )默认为-1,删除尾部元素。如果为i,删除列表对应位置的元素

  8. del x[1] 命令用法: 删除[ ]中指定位置的元素

  9. x.remove(a) a表示一个具体的值,操作会删除a在列表中首次出现的值

  四、浅复制和深复制

  10. 浅复制

  a=[1,2,3,4]

  b=a

  b[0]=-100

  结果a的值发生了改变

  a=[-100,2,3,4,5,6]

  浅复制b=a两组引用了相同的列表,此时id(a)等于id(b),列表会同时改变。

  深复制

  a=[1,2,3,4]

  b=[ ]

  for i in a:

  b.append(i)

  进行逐一赋值为深复制,id(a)不等于id(b)

  五、sort方法

  a.sort( ) 对列表由小到大进行排序

  a.sort( reverse=True)对列表由大到小进行排序

  x.sort(key=lambda x:math.sin(x))表示按照math.sin(x)的大小对x进行排序

  x.sort(key=lambda x:math.sin(x),reverse=True)表示对结果再进行倒序

  sorted(x)也对x列表进行排序,但是不改变x列表本身,只是返回结果

  六、常用函数

  max(x):挑选列表最大值

  min(x):挑选列表最小值

  sum(x):对列表中的元素求和

  x.insert(len(x),200)在数组的末尾加入一个数200;第一个参数表示位置,第二个表示要插入的值

  七、词典

  x=[1,2,3]

  y=[11,12,13]

  list(zip(x,y))=[(1,11),(2,12),(3,13)]

  for x in enumerate(“123”)

  结果为 (0,‘1’)(1,‘2’) (2,‘3’)

  x=[2*i for i in range(64)]

  表示x=[2,4,8,…,126]的列表

  x={“a”:1,“b”:2,“c”:3}表示词典

  “a‘’表示键,对应的1表示值

  x[‘a’]=1,x[‘b’]=2

  x.keys()返回所有的键集合,x.values返回所有的值集合

  修改字典的值,给对应的键赋值即可 如x[‘a’]=3

  结果为{“a”:3,“b”:2,“c”:3}

  当字典中不存在赋值的键时,会自动添入 如x[’&’]=3

  结果为 {“a”:1,“b”:2,“c”:3,"&":3}

  max(x.values())挑选最大值,min(x.values())t挑选最小值

  [n for n,s in x.items() if s==1]表示挑选值为1对应的键

  x.pop("r’)表示将"r"键从字典中移除

  组装词典

  x=[chr(i) for i in range(ord(“a”),ord(“z”+1))

  y=list(range(1,27))

  dict(zip(x,y)

  补充:chr(97)=‘a’ ,ord(“a”)=97

  update用法

  z.update({“c”:2,“d”:4})

  update用法会将已有的键值对更新,没有的自动加入字典

  get用法

  z.get("!")有键对应值时返回。没有则不返回

  z.get("!",0) 有键对应值时返回。没有则返回0

  八、元组

  (1,2,3)表示元组,一旦定义不能修改

  元组没有append(),extend(),insert()方法,无法向其中添加元素

  元组没有remove()或pop()方法,不能进行del操作,不能删除

  tuple()表示冻结,list()表示融化

  x1=tuple(“abc”) 结果为(’‘a’,’‘b’,’‘c’)

  九、string用法

  需要import string

  string.ascii_letters 表示含有所有大小写字母的字符串

  string.digits表示从0到9所有数字的字符串

  string.puctuation表示除上面两种以外的所有字符串

  ‘’.join(y)表示将y由列表变成字符串

  十、集合

  a={1,2,3,4,5} b={5,6,7} a,b表示集合

  用法

  1. a|b 表示a与b的并集

  2. a&b 表示a和b的交集

  3. a-b 表示a与b的差集

  {1,22,22}={1,22}集合会将重复元素自动删除

  强制类型转换的方法:set(x)

  十一、词典计数

  d=dict()

  d={}

  for ch in y:

  d[ch]=d.get(ch,0)+1

  表示对y列表中的每一个字符进行统计

  十二、补充

  x=[1,2,3]

  1 in x True

  [1] in x False

  math.sqrt(x)表示对x开方

  math.pow(x,n)表示x的n次方

  解包序列

  a=[1,2,3]

  x,y,z=a

  则 x=1,y=2,z=3

  ――――――――――――――――

  版权声明:本文为CSDN博主「国民小跟班」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

  原文链接:https://blog.csdn.net/jjsjsjjdj/article/details/100896523