代码改变世界

列表

2018-07-07 17:57  冻奶香甜玉米片  阅读(237)  评论(0编辑  收藏  举报

list()定义空列表

index()括号里面输入列表里的内容,查找索引值(即得出内容在列表中排(索引值-1))#返回指定元素的索引值

index()从左往右找,如果列表中的内容重复,只取第一个就返回索引值,不会继续往下找

count()统计某元素在该列表中的个数#统计指定元素的个数

pop()不输入引索默认移除最后一位元素

 

切片:(从左往右切,不可以从右往左切)

列表名为n2

n2[0,3]   #取出前三位,顾头不顾尾  

n2[:3]    #效果同上

n2[-5:-1]  #取出倒数第五到第二的元素 (顾头不顾尾)

n2[-5:]取出最后5位

n2[:]取所有

 

步长 step:

n2[:-1:2]第二个分号后的意思是取元素是以第一个为自身,取其相对位置为第二个的元素

演示:n2=[1,2,3,4,5,6,7,8,9,10]

n2[:-1:2]=[1,3,5,7,9]

 

增加:

n2.append("eee")

把“eee”加到了列表最后面

插入:

n2.insert(2,"aaa")

即把"aaa"插到了第三个元素所在位置,原第三元素包括其后面元素全往后移一位

 

排序

n.sort()排序,但是字符串和数字一起组成的列表会报错

 

相加

可以列表+列表,例如:

n=[1,2,3]

m=[4,5,6]

n+m=[1,2,3,4,5,6]

或者:n.extend(m)

 

拷贝:

n=[1,2,3]

n2=n

如果修改n中的元素,n2也会跟着变,这与我们在变量定义说的a=1,b=a不同,b不是直接指向了1

如果想改变2,而n2不变,就用n2=n.copy()

这是把从n中引用内存地址给n2,

但是这也是浅修改,如果n中嵌套了其他列表,这个列表改变,n2中的元素也会改变

因为引用指向真实的值也改变了

详细可以看#https://www.cnblogs.com/blaomao/p/7239203.html

后加:

n1=[1,2,[3,4,5]]

n2=n1.copy

列表2只是指向了n1每个元素的地址,等于拷贝一份地址,所以修改n1非list元素时,n2不会变,但是修改子列表的元素时,因为子列表本身地址是没变化的

只是子列表里面的元素指向发生了变化,所以n2跟着改变了(n2只是跟着一层地址)(一层列表,一层列表内的函数,列表的存在即是指向袁术,n.copy(n1)只是copy了列表指向的数据的地址)

想要更深层次copy

import copy

n2=copy.deepcopy(n1)

则是完全copy

 

enumerate 函数用于遍历序列中的元素以及它们的下标

enumerate好像可以设置开头序号enumerate(list.start=)