列表简介
列表是什么
概念
列表由一系列按特定序列排列的元素组成。可以包含字母、数字0-9或者字符串等,列表中的元素之间没有任何的关系。在Python中列表通常用方括号[]来表示。列表的命名和打印结果如下。
infomation=["Rick",20001110,"boy"]
print(infomation) #结果:['Rick', 20001110, 'boy']
列表元素及其使用
列表是一种有序集合,与C语言的数组类似,列表的索引也是从0开始。但与C不同的是,Python中可以用-1这个索引来表示列表中的最后一个值,以此类推,索引-2、-3…-n就可以表示列表中倒数第2、3…n个元素。
下面来对列表元素进行使用。
infomation=["Rick",20001110,"boy"]
message=infomation[0]+"'s birthday is "+str(infomation[-2]) #此处须把20001110转化为字符串
print(message) #Rick's birthday is 20001110
修改、添加、删除列表元素
修改
name=['Rick','Morty','James','Anna','Chris']
print(name) #['Rick', 'Morty', 'James', 'Anna', 'Chris']
name[0]='Barboca'
print(name) #['Barboca', 'Morty', 'James', 'Anna', 'Chris']
添加
列表末尾添加元素,用方法append()
。
name=['Rick','Morty','James','Anna','Chris']
print(name)
name.append('Messy')
print(name) #['Rick', 'Morty', 'James', 'Anna', 'Chris', 'Messy']
列表中间插入元素,用方法insert()
。
注意加入'Fernando'
的位置。
name=['Rick','Morty','James','Anna','Chris']
print(name)
name.insert(1,'Ronaldo')
print(name) #['Rick', 'Ronaldo', 'Morty', 'James', 'Anna', 'Chris']
name.insert(-2,'Fernando')
print(name) #['Rick', 'Ronaldo', 'Morty', 'James', 'Fernando', 'Anna', 'Chris']
删除
使用del
语句,知道列表元素的索引即可将任意元素删除。
name=['Rick','Morty','James','Anna','Chris']
print(name)
del name[1]
print(name) #['Rick', 'James', 'Anna', 'Chris']
使用方法pop()
,可以删除列表的最后一个元素,方法pop()
类似于栈的弹出操作。pop
也可以带参数,这个参数是索引值,此时的作用就是弹出索引值代表的列表元素。
name=['Rick','Morty','James','Anna','Chris']
print(name)
pop_name=name.pop()
print(pop_name) #Chris
print(name) #['Rick', 'Morty', 'James', 'Anna']
根据元素的值来删除,用方法remove()
。
name=['Rick','Morty','James','Anna','Chris']
print(name)
name.remove('James')
print(name) #['Rick', 'Morty', 'Anna', 'Chris']
组织列表
对列表元素进行排序
永久性排序,用方法sort()
。可以在括号里面加参数reverse=True
,表示倒序排序。
这里的顺序和倒序是按照字母和数字的顺序来的。
fruits=['apples','pears','strawberries','bananas','lemons']
numbers=[9,66,21,2,37]
print(fruits) #['apples', 'pears', 'strawberries', 'bananas', 'lemons']
print(numbers) #[9, 66, 21, 2, 37]
fruits.sort()
numbers.sort()
print(fruits) #['apples', 'bananas', 'lemons', 'pears', 'strawberries']
print(numbers) #[2, 9, 21, 37, 66]
fruits.sort(reverse=True)
numbers.sort(reverse=True)
print(fruits) #['strawberries', 'pears', 'lemons', 'bananas', 'apples']
print(numbers) #[66, 37, 21, 9, 2]
临时性排序,用函数sorted()
。其作用只是以特定顺序显示列表,并不改变列表元素的值,所以是临时性的。sorted()
函数也可以被传递参数reverse=True
,其意义与方法sort()
相同,也是倒序排序。
这里的顺序和倒序也是按照字母和数字的顺序来的。
fruits=['apples','pears','strawberries','bananas','lemons']
numbers=[9,66,21,2,37]
print(fruits)
print(numbers)
print(sorted(fruits))
print(sorted(numbers,reverse=True))
print(fruits)
print(numbers)
#结果:
# ['apples', 'pears', 'strawberries', 'bananas', 'lemons']
# [9, 66, 21, 2, 37]
# ['apples', 'bananas', 'lemons', 'pears', 'strawberries']
# [66, 37, 21, 9, 2]
# ['apples', 'pears', 'strawberries', 'bananas', 'lemons']
# [9, 66, 21, 2, 37]
需要注意的是,并不是所有的列表元素都可以像上面这样简单地通过函数或者方法就可以进行排序(如每一个列表元素大小写不相同时),根据具体情况具体分析。
倒序打印列表
用方法reverse()
,该方法不是用字母或数字的顺序倒序排列,而是按照列表中的顺序倒序排列,且是永久性的。
fruits=['apples','pears','strawberries','bananas','lemons']
print(fruits)
fruits.reverse()
print(fruits) #['lemons', 'bananas', 'strawberries', 'pears', 'apples']
确定列表长度
使用函数len()
。
fruits=['apples','pears','strawberries','bananas','lemons']
print(len(fruits)) #5
索引错误
- 索引的值超过列表范围,注意列表索引是从0开始的;
- 列表为空时如果使用索引[-1],会产生错误。