鱼C论坛

 找回密码
 立即注册
查看: 1682|回复: 11

[技术交流] Python总结(第十一章)【列表】

[复制链接]
发表于 2020-4-11 14:48:39 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 WangJS 于 2020-4-25 21:24 编辑

Python总结(第十一章)


11.列表

(1)创建列表

普通列表

语法:列表的名字 = [ , ]
>>> friends = ['乘号','xinhua202002','qiuyouzhi','永远的渣滓','墨羽岚']

混合列表

语法:列表的名字 = [ , ]
>>> chaos = [2,3.14, [3,"Wang"],"JS"]
>>> chaos
[2, [3, 'Wang'], 'JS']

空列表

语法:列表名 = []
>>> empty = []
>>> empty
[]

(2)添加元素

append()         #加到结尾,单个参数
语法:列表名.append(添加内容)
>>> family = ['grandpa','grandma','mother','father']
>>> family.append('you')
>>> family
['grandpa', 'grandma', 'mother', 'father', 'you']

extend([])        #小括号里加中括号,表示扩充原列表,一个参数
语法:列表名.extend([ ,])    #把列表扩充到末尾
>>> friends = ['乘号','xinhua202002','qiuyouzhi','永远的渣滓','墨羽岚']
>>> friends.extend(['冰河星云','wuqramy'])
>>> friends
['乘号', 'xinhua202002', 'qiuyouzhi', '永远的渣滓', '墨羽岚', '冰河星云', 'wuqramy']


insert(①,②)    #①—索引值(要添加的位置 #从0开始);②—要添加的内容
语法:列表名.insert(①,②)    #把①添加到②那里
>>> friends = ['乘号','xinhua202002','qiuyouzhi','永远的渣滓','墨羽岚']
>>> friends.insert(1,"叙白")
>>> friends
['乘号', '叙白', 'xinhua202002', 'qiuyouzhi', '永远的渣滓', '墨羽岚']

(3)删除元素(列表)

reamove()       #删除元素(不需要知道位置)
        语法:列表名.reamove(要移除的内容)
>>> friends = ['乘号','xinhua202002','qiuyouzhi','永远的渣滓','墨羽岚', '冰河星云', 'wuqramy']
>>> friends.remove('墨羽岚')
>>> friends
['乘号', 'xinhua202002', 'qiuyouzhi', '永远的渣滓', '冰河星云', 'wuqramy']
del                   #可删除整个列表
语法:删除列表:del 列表名
                删除列表元素:del 列表名[索引值]
>>> friends = ['乘号','xinhua202002','qiuyouzhi','永远的渣滓','墨羽岚', '冰河星云', 'wuqramy']
>>> del friends[1]
>>> friends
['乘号', 'qiuyouzhi', '永远的渣滓', '墨羽岚', '冰河星云', 'wuqramy']
>>> del friends
>>> friends
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    friends
NameError: name 'friends' is not defined
pop                  #有返回值
语法:列表名.pop()   #返回最后一个值并删除它(可进行赋值)
                列表名.pop(索引值)  #删除并返回索引的那个值
>>> friends = ['乘号','qiuyouzhi','永远的渣滓','墨羽岚', '冰河星云', 'wuqramy']
>>> friends.pop()
'wuqramy'
>>> last = friends.pop()
>>> last
'冰河星云'
>>> friends.pop(1)
'qiuyouzhi'
>>> friends
['乘号', '永远的渣滓', '墨羽岚']

(4)获取元素
语法:列表名.[要获取的位]    #从0开始
>>> friends
['乘号', '叙白', 'xinhua202002', 'qiuyouzhi', '永远的渣滓', '墨羽岚']
>>> friends[4]
'永远的渣滓'

(5)列表分片

语法:列表名[开始元素索引值:结束元素索引值(不包括)]
>>> friends = ['乘号','qiuyouzhi','永远的渣滓','墨羽岚', '冰河星云', 'wuqramy']
>>> friends[1:3]
['qiuyouzhi', '永远的渣滓']
>>> friends[:3]
['乘号', 'qiuyouzhi', '永远的渣滓']
>>> friends[4:]
['冰河星云', 'wuqramy']
>>> friends[:]
['乘号', 'qiuyouzhi', '永远的渣滓', '墨羽岚', '冰河星云', 'wuqramy']

(6)列表常用操作符

<   >   ==

比较列表大小,只比较列表的第一个项的大小(如果不是数字就比较它的ASCII码)
>>> list1 = [100,500]
>>> list2 = [500,2]
>>> list2 > list1
True
>>> list1 > list2
False

*=

列表翻倍,直接上例子:
>>> list3 = [111,0,0]
>>> list3 *= 5
>>> list3
[111, 0, 0, 111, 0, 0, 111, 0, 0, 111, 0, 0, 111, 0, 0]

and  or  not

和返回布尔值的东西一起用:
>>> list2 > list1 or list1 > list3
True
>>> list2 > list1 and list1 > list3
False
>>> a = [1,2,3,4,5]
>>> not a
False

in

判断是否包含,返回布尔值。
>>> list4 = [111,222,333]
>>> 111 in list4
True

+

用于连接两个列表
>>> l1 = [1,2,3]
>>> l2 = [4,5,6]
>>> l1 + l2
[1, 2, 3, 4, 5, 6]

(6)列表的小伙伴(内置方法)

内置方法有哪些?让Python自己告诉你:
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

count

语法:列表名.count()        #数这个列表中有多少个括号里的东西
>>> list3 = [1,23,132,342,1,2,1,1,1,34]
>>> list3.count(1)
5

index

语法:列表名.index(要寻找的内容,[范围开始项],[结束项])
#判断括号里的东西在范围内的(第一次出现)位置,中括号表示可以不填
>>> list3 = [1,23,132,342,1,2,1,1,1,34]
>>> list3.index(1)
0
>>> list3.index(1,3)
4
>>> list3.index(1,5,9)
6

reverse

语法:列表名.reverse()       #反转列表
>>> list3 = [1,23,132,342,1,2,1,4,5,34]
>>> list3.reverse()
>>> list3
[34, 5, 4, 1, 2, 1, 342, 132, 23, 1]

sort

语法:列表名.sort([func],[key],[reverse])       #排序,reverse默认为False,为False是从大到小排,如果设为True就是从小到大排。
>>> list3 = [1,23,132,342,1,2,1,4,5,34]
>>> list3.reverse()
>>> list3
[34, 5, 4, 1, 2, 1, 342, 132, 23, 1]
>>> list3.sort()
>>> list3
[1, 1, 1, 2, 4, 5, 23, 34, 132, 342]
>>> list3 = [1,23,132,342,1,2,1,4,5,34]
>>> list3.sort(reverse=True)
>>> list3

本节课学习的列表内置方法

  append()
  添加:添加到末尾
  extend()
  添加:表示扩充原列表
  insert(①,②)
  添加:①—索引值 ②—要添加的内容
  reamove()
  删除:直接写内容,不用知道位置
  del   删除:后面直接写要删除的列表(项)  
  pop()
  删除:删除最后一项,并返回
  count()
  数数:算出内容在列表中出现的次数
  index()
  寻找:寻找输入的内容
  reverse()
  反转:反转整个列表
  sort()
  排序:按照大小顺序排序
  clear()
  清空:清空整个列表


如果喜欢,别忘了评分订阅哟(传送门)!
喜欢别忘了.gif

评分

参与人数 1荣誉 +5 收起 理由
等风来999 + 5

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-11 14:53:17 | 显示全部楼层
(6)列表常用操作符

<   >   ==

比较列表大小,只比较列表的第一个项的大小(如果不是数字就比较它的ASCII码)
是先比较第一个,如果第一个比较不出来就比较第二个,以此类推

extend([])        #小括号里加中括号,表示扩充原列表,一个参数
extend的参数可以是任何可迭代对象
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 14:58:40 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-11 14:53
是先比较第一个,如果第一个比较不出来就比较第二个,以此类推

extend的参数可以是任何可迭代对象
>>> l1 = ['ww',222]
>>> l2 = [1]
>>> l1 < l2
Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    l1 < l2
TypeError: '<' not supported between instances of 'str' and 'int'


但这样写就会报错欸
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 15:00:25 | 显示全部楼层
WangJS 发表于 2020-4-11 14:58
但这样写就会报错欸

本来就是啊,先比较第一个,但第一个不能比较,所以就报错了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 15:02:37 | 显示全部楼层
WangJS 发表于 2020-4-11 14:58
但这样写就会报错欸

给你个例子
>>> [1,2,3]<[1,3,3]
True
>>> [1,2,3]<['1',3,3]
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    [1,2,3]<['1',3,3]
TypeError: '<' not supported between instances of 'int' and 'str'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 15:03:46 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-11 15:00
本来就是啊,先比较第一个,但第一个不能比较,所以就报错了啊

那什么情况下会比较第二个?
>>> l1 = ['ww',222]
>>> l2 = ['dd',32]
>>> l1 < l2
False

这样比的也是第一个吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 15:04:33 | 显示全部楼层
WangJS 发表于 2020-4-11 15:03
那什么情况下会比较第二个?

这样比的也是第一个吧

我说过了,第一个比较不出来(就是相等)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 15:07:17 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-11 15:04
我说过了,第一个比较不出来(就是相等)

相等?
>>> l1 == l2
False
(我好笨啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 15:07:50 | 显示全部楼层
WangJS 发表于 2020-4-11 15:07
相等?

(我好笨啊)

第一个元素相等,不是整个列表!
啊啊啊啊啊啊啊啊啊啊!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-11 16:10:53 | 显示全部楼层
终于更新了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-11 20:23:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-13 20:46:31 | 显示全部楼层
本帖最后由 WangJS 于 2020-4-13 20:55 编辑

@冰河星云@永恒的蓝色梦想   终于更新完了  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 19:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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