Python列表操作:定义和访问、添加和删除、排序和反转
一、定义列表和访问元素
中间是用逗号隔开:
message = ['张三','李四','王五']
print(message)
print(message[0]) #访问数组元素
输出:
['张三','李四','王五']
张三
将索引指定为-1,可以访问数组的最后一个元素,使用索引-2则访问倒数第二个,以此类推:
message = ['张三','李四','王五']
print(message[-1])
print(message[-2])
print(message[-3])
输出:
王五
李四
张三
这在不知道列表长度而需要访问列表最后的元素时很有用。
二、添加、删除元素
1.添加元素:append()和insert()
(1)append():在列表末尾添加元素
message = [] #创建一个空列表
message.append('张三')
message.append('李四')
message.append('王五')
print(message)
输出:
['张三','李四','王五']
(2)insert():在列表任意索引位置添加元素
用法为列表名.insert(索引,元素)
message = ['张三','李四','王五'] #创建一个空列表
message.insert(1,'赵六') #所索引1的位置插入'赵六',而原来在索引1及其后边的元素都被右移一个位置
print(message)
输出:
['张三','赵六','李四','王五']
2.删除元素:del()、pop()、remove()
(1)del():根据索引来删除列表元素
用法为del 列表名[索引]
,会删除所在索引位置的元素:
message = ['张三','赵六','李四','王五']
del message[1]
print(message)
输出:
['张三','李四','王五']
(2)pop():删除某个元素时返回其元素值
列表名.pop()
会弹出列表的最后一个元素并返回该元素的值
message = ['张三','李四','王五']
deleted = message.pop() #弹出最后一个元素,并返回元素值'王五'给变量deleted
print(deleted) #输出被删除的变量
输出:
王五
列表名.pop(索引)
会弹出列表中索引位置的元素并返回该元素的值
message = ['张三','李四','王五']
deleted = message.pop(0) #弹出索引0位置的元素,并返回元素值'张三'给变量deleted
print(deleted) #输出被删除的变量
输出:
张三
(3)remove():根据元素值来删除元素
使用方法为列表名.remove(元素值)
message = ['张三','李四','王五']
deleted = message.remove('张三') #弹出索引0位置的元素,并返回元素值'张三'给变量deleted
print(message) #输出被删除的变量
输出:
['李四','王五']
方法remove()只删除第一个指定的值。如果要删除的值可能在列表中出现多次,就需要使用循环来判断是否删除了所有这样的值。
三、排序和反转列表
1.排序:sort()、sorted()
(1)sort()
sort()
对列表按字母表顺序排序,用法为列表名.sort()
message = ['B','A','D','C']
message.sort() #字母表顺序排序
print(message)
输出:
['A','B','C','D']
也可以用sort(reverse=True)
进行字母表倒序排序
message = ['B','A','D','C']
message.sort(reverse=True) #字母表倒序排序
print(message)
输出:
['D','C','B','A']
(2)sorted():返回临时排序
sorted(列表名)
返回一个字母表顺序排序版本的列表,但是并不改变列表本身的值:
message = ['B','A','D','C']
print(sorted(message)) #不sorted()改变列表本身顺序
print(message)
输出:
['A','B','C','D']
['B','A','D','C']
你也可以使用
sorted(列表名,reverse=True)
来返回字母表倒序排序的版本。
2.反转列表顺序:reverse()
用列表名.reverse()
可以反转列表的原始顺序。如果你想让列表回到原样反转两次就可以。
message = ['B','A','D','C']
message.reverse()
print(message)
输出:
['C','D','A','B']