鱼C论坛

 找回密码
 立即注册
查看: 1908|回复: 0

[学习笔记] 零基础入门学Python(第一版)第五章总结--列表

[复制链接]
发表于 2019-5-14 15:29:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
列表与元组
1、创建列表需用中括号括起来,中间用逗号隔开“[ , ]”
2、
列表中元素的添加:
--append()
  例:>>> number=[1,2,3,4,5]
>>> number.append(6)
>>> number
[1, 2, 3, 4, 5, 6]
  只能添加一个元素,并默认添加在列表的末尾,添加用append前边需要加“.”;
--extend()
  例:>>> number.extend([7,8,9])
>>> number
[1, 2, 3, 4, 5, 6, 7, 8, 9]
  添加多个元素,使用该函数,依然只能添加在末尾,注意多元素添加,需要中括号与小括号结合使用,否则会报错;
--insert()
  例:>>> number.insert(1,0)
>>> number
[1, 0, 2, 3, 4, 5, 6, 7, 8, 9]
  insert后边,第一个数是要填入元素的位置,第二个数是插入的内容。需注意的是python顺序是从0开始数,
3、
从列表中获取元素:
  一般可以使用index来获取,也可以直接通过列表中排列顺序位置来获取
  例:>>> number
[1, 0, 2, 3, 4, 5, 6, 7, 8, 9]
>>> number.index(0)
1
>>> number.index(1)
0
>>> number[0]
1
>>> number[1]
0
  可以看到,返回的数值是相同的,其中index后边接的是小括号,而直接通过位置获取元素的需要用中括号
  如果需要调换位置,则直接可以通过上边章节将的变量调换位置即可,
例: a[1],a[2]=a[2],a[1]
4、
从列表删除元素:
--remove(),例:
>>> name=['鸡蛋','鸭蛋','鹅蛋','恐龙蛋']
>>> name.remove('恐龙蛋')
>>> name
['鸡蛋', '鸭蛋', '鹅蛋']
  remove可以直接删除对应的元素,只要是在列表中,即可直接删除,非列表内容会提示报错,注意小括号内要有引号表示字符
--del
  del是语句,不是列表的方法,所以后边不需要加小括号,可以直接根据位置进行删除,甚至可以直接删除整个列表,删除位置需要用中括号表示,同时需要注意,这个与其他不同,del是在前边的,后边不用“.”,而是加的空格与变量,例:
>>> del name[1]
>>> name
['鸡蛋', '鹅蛋']
--pop()
  默认情况下,pop是弹出列表中末尾一个元素,并会显示要弹出元素(打印出来),告知这个是要弹出的结果,再返回查变量(name)会发现,该元素已经没有了。例:
>>> name=['鸡蛋','鸭蛋','鹅蛋','恐龙蛋']
>>> name.pop()
'恐龙蛋'
>>> name
['鸡蛋', '鸭蛋', '鹅蛋']
同时也可以通过输入元素的排列位置,进行弹出,这个是从前往后正常的顺序,就不是空括号()那样末尾取数了。例:
>>> name=['鸡蛋','鸭蛋','鹅蛋','恐龙蛋']
>>> name.pop(0)
'鸡蛋'
5、
列表分片,意指利用索引值,获取多个元素,一般用中括号,内部用冒号隔开,其中冒号左边为开始的位置,右边为结束的位置,例:
>>> num=[1,2,3,4,5,6,7,8,9]
>>> num[0:5]
[1, 2, 3, 4, 5]
  如果冒号左边或者右边是空格,则表示默认从0开始,或者到末尾结束。这个主要是拷贝功能,原有列表不论如何修改,拷贝后的列表都是不变的,例:
>>> num
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> num1=num[ :5]
>>> num1
[1, 2, 3, 4, 5]
>>> num1.pop()
5
>>> num1
[1, 2, 3, 4]
>>> num
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> num.pop(0)
1
>>> num
[2, 3, 4, 5, 6, 7, 8, 9]
>>> num1
[1, 2, 3, 4]
   我们可以看到,当用num1提取了原num中部分元素,我们对num1如何变更,都不会有影响,并且,原有num表如何变化,num1也不会产生影响,所以可以得出结论,分片后的数据,是不会因原有数据改变而改变的。而如果当初设定num1=num的话,则num改变时,num1会跟着一起改变。这便是赋值与分片拷贝的直接区别。
   如果分片后边是两个冒号,三个数值,[a,b,2],则表示从顺序a开始,到b结束,以2位间隔跳跃拷取元素
>>> num=[1,2,3,4,5,6,7,8,9]
>>> num[0:9:2]
[1, 3, 5, 7, 9]
   如果设置2为“-1或-2”,则可复制一个反向读数的列表
>>> num[ : :-2]
[9, 7, 5, 3, 1]
6、
如果对列表中元素进行替换,可以直接通过位置数,进行更换,例:
>>> num=[1,2,3,4,5,6,7,8,9]
>>> num[0]=5
>>> num
[5, 2, 3, 4, 5, 6, 7, 8, 9]
7、当两个列表进行比较,默认是列表中第一个元素的大小之间比较,如果是字符,则会通过对应ASCII码进行比较
8、若一个列表中,出现多层次的元素,则需要注意,层次(括号内)整体算一个元素,例:
>>> num=[1,2,3,[4,5,6],7,8]
>>> num[3]
[4, 5, 6]
>>> num[3][0]
4
   其中我们可以看到,[4,5,6]算作一个元素,再下一级层数中,才算为3个元素,所以在取用时,需要先通过nun[3]来调出,然后接下一级层次内的对应位置。
9、其他列表参数
--count(),用于计算列表中参数出现的次数
>>> num=[1,1,2,3,5,8]
>>> num.count(1)
2
--index(),返回它的参数在列表中的位置,上边有例题
另外index还有一个表达方式就是index(1,a,b),表示从列表查找1这个元素,从列表位置a开始,位置b结束(a,b表示列表中元素位置顺序的位置数),返回的值是对应1这个元素,在搜索范围内的第一个1的位置数
--reverse(),是将列表原地翻转,就是排最后的放到前边,前边的放到后边
--sort(),是对列表成员进行排序,默认是从小到大排列,如果想从大到小排列,则可以在xxx.sort(reserve=True)即可。原因,原有sort()里,默认的数值为sort(reserve=False),表示为不颠倒顺序。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 07:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表