python

超轻量级php框架startmvc

Python列表常见操作详解(获取,增加,删除,修改,排序等)

更新时间:2020-06-25 08:30:02 作者:startmvc
本文实例讲述了Python列表常见操作。分享给大家供大家参考,具体如下:列表是由一系列按

本文实例讲述了Python列表常见操作。分享给大家供大家参考,具体如下:

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

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


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

运行结果:

['娱乐', '体育', '科技']

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

1 获取元素

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


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

运行结果:

第三个类型:科技

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

2 索引从 0 开始

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

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


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

运行结果:

最后一个:科技

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


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

运行结果:

倒数第二个:体育

3 新增元素

  • 3.1 列表末尾

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


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

运行结果:

['娱乐', '体育', '科技', '财经']

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


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

运行结果:

['绿色', '蓝色', '紫色']

  • 3.2 指定位置

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


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

运行结果:


['红色', '绿色', '蓝色', '紫色']

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

4 修改元素

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


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

运行结果:

['白色', '绿色', '蓝色', '紫色']

5 删除元素

  • 5.1 del()

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


del colors[0]
print(colors)

运行结果:

['绿色', '蓝色', '紫色']

  • 5.2 pop()

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


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

运行结果:

执行前:['绿色', '蓝色', '紫色'] 栈顶元素:紫色 执行后:['绿色', '蓝色']

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


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

运行结果:

执行前:['绿色', '蓝色'] 删除的元素:绿色 执行后:['蓝色']

  • 5.3 比较 del()pop()

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

  • 5.4 根据值删除 remove()

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

运行结果:

执行前:['蓝色'] 执行后:[]

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

6 排序

  • 6.1 永久性排序 sort()

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

运行结果:

按字母顺序正序排序后:['business', 'sport', 'travel'] 按字母顺序逆序排序后:['travel', 'sport', 'business']

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)));

运行结果:

排序后:['business', 'sport', 'travel'] 原列表:['sport', 'travel', 'business'] 按字母顺序逆序排序后:['travel', 'sport', 'business']

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

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

  • 6.3 倒序 reverse()

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


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

运行结果:

倒序前:['娱乐', '体育', '科技'] 倒序后:['科技', '体育', '娱乐']

7 列表长度 len()


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

运行结果:

3

8 索引错误

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

Python 列表 获取 增加 删除 修改 排序