广告区

广告区


本站消息

站长简介/公众号

关注本站官方公众号:程序员总部,领取三大福利!
福利一:python和前端辅导
福利二:进程序员交流微信群,专属于程序员的圈子
福利三:领取全套零基础视频教程(python,java,前端,php)

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2021-08(9)

2021-09(10)

列表list

发布于2020-03-08 21:56     阅读(406)     评论(0)     点赞(21)     收藏(4)



列表list

列表的特性:

  1. list是任意对象的有序集合 list里面的信息可以是类型不一致的
  2. 通过索引下标访问元素
  3. 可变长度
  4. 支持原位改变 属于可变序列

list.copy()方法

l1=[1,2,3,4,5]
l2=l1
#此时按照前面声明变量的规则 此时l2 l1均指向同一个对象
l1=[0]='z'
l1
['z',2,3,4,5]
l2
['z',2,3,4,5]
#当对l1作出修改时 l1改变 l2也会随之改变过来 在某些场景下,或许这就是你想要的情形:多个变量指向同一个对象 但有的时候也许不是你所希望出现的情况 那这个时候应该怎么做呢 
a=[1,2,3,4]
#此时不要把a赋值给b 不要说b=a 而是把a的第一位至最后一位的元素拿出来 复制过去给b 作为一个副本传递过去给b
b=a[:]
b
[1,2,3,4]
#这个时候b看起来和a一样 但我们去修改a时对b是不会有影响的
a=[0]=8
a
[8,2,3,4]
b
[1,2,3,4]
#当然我们也可以用list里面的copy方法 
x=[1,2,3]
y=x.copy()
y
[1,2,3]
#此时去修改x对y也不会有影响
x[0]=5
x
[5,2,3]
y
[1,2,3]


用len()函数判断列表的长度

len([1,2,3])
3

列表的相加连接成一个新的列表

[1,2,3]+[4,5,6]
[1,2,3,4,5,6]

把字符串转换成列表

#用list()函数 把字符串转换成列表 字符串里的每一个字符就变成列表里的元素
l=list('apple')
l
['a','p','p','l','e']

判断某一个元素是否在列表里——用in操作

l=['a','b','c']
'a' in l
True
'z' in l
False

列表的遍历——for x in y循环

l=['a','b','c']
for c in l:
#表示把列表l里的所有元素给我挨个找出来 放在一个叫做c的临时变量里面去 这个c表示就是我们从列表里面遍历出来的元素
...(tab键缩进)print(c)
...
a
b
c
#为什么它会一行打一个呢?因为print()默认情况下在打印的元素后面加上了一个终止的字符\n 我们可以在打印c的时候把末尾的默认参数\n换成其他的
l=[1,2,3,4]
for x in l:
...	print(x,end='|')
...
1|2|3|4|>>>
	

把列表里的元素拿出来放到一个新的列表里面去
比如说:我想把列表里面的每一个值的平方计算出来放在一个新的列表里面

l=[1,2,3,4]
result=[]
#先声明一个空的列表 那么这个新的空的列表里的元素从哪里来呢?我们做一个遍历
for x in l:
#对于l里面的每一项元素x
	result.append(x**2)
#在刚刚result那个空列表里面,append附加上刚才的x的平方 平方是**2 三次方是**3 以此类推
...
result
[1,4,9,16]
>>>

如果仅仅是放到一个新的列表里面去

l=[1,2,3,4]
res=[]
for a in l:
	res.append(a)
...
res
[1,2,3,4]

列表的推导
比如说:我想把列表里面的每一个值的三次方计算出来放在一个新的列表里面

l=[1,2,3,6,9]
l2=[x**3 for x in l]
#先声明一个新的列表l2 那这个新列表l2里面的元素从哪里来呢?来自于x的三次方 那这个x又从哪里来呢 输入for x in l表示x是从l里面遍历来的
l2
[1,8,27,216,729]

当然如果仅仅是想取原来的列表里的每一个值形成一个新的列表

l=[1,2,3,6,9]
l2=[x for x in l]
l2
[1,2,3,6,9]

同理,我们也可以把字符串里的每一个字符拿出来 形成一个新的列表

[c for c in 'python']
#外侧的中括号决定了它返回的类型是列表
['p','y','t','h','o','n']
[a*3 for a in 'abc']
['aaa','bbb','ccc']

列表的替换

l=[1,2,3]
l[1:2]=[4,5]
#截取时遵循左开右闭原则 即1对应的2是包括在内的 而2对应的3则不被包括在内
l
[1,4,5,3]
a=[1,3,5,7,9]
a[0:3]=['z','x','y']
a
['z','x','y',7,9]


列表的相乘
列表的相乘不是生成三个列表 而是把列表里的元素重复三次

['uke']*3
['uke','uke','uke']

列表的append附加追加

l=[1,2,3]
#现在l里有三个数字 我想再加一个9进去
l.append(9)
l
[1,2,3,9]
#由于list支持原位改变 所以可以直接追加一个值进去 而不需要像字符串那样l=l.append(9)这样重新赋值

列表的extend扩展

l=[1,2,3,4]
l.extend([8,9,10])
#extend与append的区别:append是追加一个元素 而extend是扩展一个列表相当于把两个列表给连接起来
l
[1,2,3,4,8,9,10]

列表的排序

1. 从小往大排——用.sort()方法

l=[5,4,1,3,2]
l.sort()
#同样无需重新赋值写l=l.sort() 因为列表支持原位改变 直接l.sort()之后顺序就排好了原有list就变成了排好序后的了
l
[1,2,3,4,5]

2. 顺序反过来——用.reverse()方法

l=[1,2,3,4,5]
l.reverse()
l
[5,4,3,2,1]
l.reverse()
l
[1,2,3,4,5]

列表的.pop方法
list.pop()在不写明下标索引的时候默认弹出并删除最后一个元素

l=[1,2,3,4,5]
l.pop()
5
l
[1,2,3,4]
l.pop(1)
2
l
[1,3,4]

用del()删除某一个元素
del()是全局的关键字操作符

l=[1,2,3,4,5]
del(l[0])
l
[2,3,4,5]

list.index()寻找列表中某一个元素的下标索引

l=[1,2,3,4,5]
l.index(1)
0

list.count()t统计列表中某个元素与几个

l=[1,1,1,2,3]
l.count(1)
3






所属网站分类: 技术文章 > 博客

作者:python横扫天下

链接:https://www.pythonheidong.com/blog/article/248578/929ea541341791cc7984/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

21 0
收藏该文
已收藏

评论内容:(最多支持255个字符)