继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

说说 Python 的列表

慕标5832272
关注TA
已关注
手记 1232
粉丝 229
获赞 1001

webp

列表是由一系列按特定顺序排列的元素组成的对象。因为列表通常包含多个元素, 所以建议给列表指定一个表示复数的名称。

我们用方括号( [] ) 来表示列表, 并用逗号来分隔其中的元素。

types=['娱乐','体育','科技']print(types)

运行结果:

webp

可以看到,打印列表的同时,也会将方括号打印出来。

1 获取元素

要获取列表中的某个元素, 在方括号内指定元素的索引即可:

print('第三个类型:'+types[2])

运行结果:

webp

当我们请求获取列表元素时, 只会返回该元素本身。

2 索引从 0 开始

跟大多数编程语言相同,索引从 0 开始计数。因此,需要获取列表的任何元素, 都可将其位置减1, 作为索引。

将索引指定为 -1,还可以获取最后一个列表元素,这样就可以在不知道列表长度的情况下,获取最后一个元素:

print('最后一个:'+types[-1])

运行结果:

webp

这种语法也适用于其他负数索引。索引 -2 获取倒数第二个列表元素, 索引 -3 获取倒数第三个列表元素, 以此类推。

print('倒数第二个:'+types[-2])

运行结果:

webp

3 新增元素

3.1 列表末尾

append()  方法可以将元素附加到列表末尾:

types.append('财经')print(types)

运行结果:

webp

append()  方法很适合动态地创建列表。我们可以先创建一个空列表, 然后再使用一系列的append() 方法为列表添加元素。

colors=[]
colors.append('绿色')
colors.append('蓝色')
colors.append('紫色')print(colors)

运行结果:

webp

3.2 指定位置

insert() 可以在列表的任意位置添加新元素。这个方法的入参是新元素的索引和值。

colors.insert(0,'红色')print(colors)

运行结果:


webp

在这个示例中, 值 ' 红色' 被插入到了列表头,列表中既有的元素都右移了一个位置。

4 修改元素

修改列表元素的语法与获取列表元素的语法相似。我们可指定列表名、要修改的元素索引以及新值:

colors[0]='白色'print(colors)

运行结果:

webp

5 删除元素

5.1 del()

如果知道要删除的元素在列表中的位置,那么可以使用  del():

del colors[0]
print(colors)

运行结果:


webp

5.2 pop()

把列表想象成一个栈。pop() 方法会弹出栈顶元素(即列表末尾最后一个元素),并返回这个元素。

print('执行前:'+str(colors))
poped_color=colors.pop()print('栈顶元素:'+poped_color)print('执行后:'+str(colors))

运行结果:

webp

只要指定好要删除的元素索引,pop() 也可以用来删除列表中任何位置的元素:

print('执行前:'+str(colors))
poped_color=colors.pop(0)print('删除的元素:'+poped_color)print('执行后:'+str(colors))

运行结果:

webp

5.3 比较 del() 与 pop()

  • del() :从列表中删除一个元素, 且不再使用它。

  • pop():从列表中删除一个元素, 且还需要使用它。

5.4 根据值删除 remove()

print('执行前:'+str(colors))
colors.remove('蓝色')print('执行后:'+str(colors))

运行结果:

webp

注意:remove() 只会删除第一个指定的值。 如果需要删除多个指定的值, 那么就需要使用循环咯O(∩_∩)O~

6 排序

6.1 永久性排序 sort()

types=['sport','travel','business']
types.sort()print("按字母顺序正序排序后:"+str(types));
types.sort(reverse=True)print("按字母顺序逆序排序后:"+str(types));

运行结果:

webp

sort() 会永久性(再也恢复不回去咯)地改变列表元素的排列顺序(按字母顺序)。如果需要对中文的拼音进行排序,需要引入第三方库。

为 sort() 方法传递参数 reverse=True,就可以按照字母顺序逆序的规则来排列元素。

6.2 临时排序 sorted()

函数sorted()  可以保留列表元素原有的排列顺序, 同时返回排序后的列表。

types=['sport','travel','business']print("排序后:"+str(sorted(types)));print("原列表:"+str(types));print("按字母顺序逆序排序后:"+str(sorted(types,reverse=True)));

运行结果:

webp

注意:调用函数 sorted() 后, 原有列表的元素排列顺序没有被改变,所以叫临时排序。

sorted() 函数也支持参数 reverse=True,按照字母顺序逆序的规则来排列元素。

6.3 倒序 reverse()

reverse() 会反转列表原有元素的排列顺序。

types=['娱乐','体育','科技']print('倒序前:'+str(types))
types.reverse()print('倒序后:'+str(types))

运行结果:

webp

7 列表长度 len()

types=['娱乐','体育','科技']print(len(types))

运行结果:

webp

8 索引错误

发生索引错误时, 建议将列表或长度打印出来,通过查看这些内容, 可以帮助我们找出错误引发的原因哦O(∩_∩)O~



作者:deniro
链接:https://www.jianshu.com/p/5a29e33e17dd


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP