文章目录
介绍列表
列表是由若干个元素按照一定的顺序排列组成.
列表中的元素可以有关系或没有任何关系.
列表元素通常为多个, 因此一般给列表一个表示复数的名字.
用方括号表示列表, 元素放在列表内, 用逗号分隔其中的各个元素.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
创建一个列表
函数 list()
创建空列表
程序示例:
lists = []
print(lists)
print(type(lists))
结果:
[]
<class 'list'>
利用索引访问列表元素
因为列表中的元素是有顺序的, 因此可以借助索引访问列表中的元素. 先给出列表名称, 紧跟着一对方括号, 方括号内放置索引, 即可得到该元素.
可将这种形式当成该元素的变量名.
索引从 0 开始.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
print(names[0])
print(names[1].title())
结果:
['xiao', 'zhang', 'wang', 'li']
xiao
Zhang
从右到左,索引从 -1 开始,依次减一,即 -1,-2,…,-(n+1),n 是元素总和。
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(f"Hello, {names[-1].title()}")
结果:
Hello, Li
修改列表的元素
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names[1] = 'Cheng'
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['xiao', 'Cheng', 'wang', 'li']
增加列表的元素
append() 方法
append() 方法将新元素添加到列表的末尾。需要提供一个参数,即新元素。
程序示例:
lists = []
print(lists)
print(type(lists))
lists.append('hello')
print(lists)
结果:
[]
<class 'list'>
['hello']
insert() 方法
insert() 方法可在列表任意位置添加元素,需要提供两个参数,第一个是添加新元素后,新元素在列表中的索引,第二个是新元素。
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names.insert(1, 'Cheng')
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['xiao', 'Cheng', 'zhang', 'wang', 'li']
从列表中删除元素
del 语句
使用 del 语句,需要提供待删除元素在列表中的索引。
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
del names[1]
print(names)
结果;
['xiao', 'zhang', 'wang', 'li']
['xiao', 'wang', 'li']
使用 del 语句将元素从列表中删除后, 将再也无法访问这个元素.
pop() 方法
可以用 pop() 删除列表中任意位置的元素, 需要提供一个参数, 即该元素的索引.
不提供参数时, 默认删除列表最后一个元素.
pop 即弹出的意思.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names.pop()
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['xiao', 'zhang', 'wang']
用方法 pop() 弹出的元素, 还可以继续使用.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
he = names.pop()
print(names)
print(he)
结果:
['xiao', 'zhang', 'wang', 'li']
['xiao', 'zhang', 'wang']
li
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
he = names.pop(2)
print(names)
print(he)
结果:
['xiao', 'zhang', 'wang', 'li']
['xiao', 'zhang', 'li']
wang
remove() 方法
可以使用方法 remove() 删除列表中的元素, 需要提供一个参数, 即该待删除元素的值.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names.remove('xiao')
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['zhang', 'wang', 'li']
使用 remove() 方法删除的值, 不能继续使用该值.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
name = names.remove('xiao')
print(names)
print(name)
结果:
['xiao', 'zhang', 'wang', 'li']
['zhang', 'wang', 'li']
None
remove() 方法只删除第一个出现的值, 如果列表中有多个重复的值, 可以借助循环删除所有的值.
对列表元素进行排序
sort() 方法
sort() 方法可以永久修改列表元素的排序,将列表元素按照字母顺序排列。
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names.sort()
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['li', 'wang', 'xiao', 'zhang']
在 sort() 方法中传入参数 reverse=True
, 可以按照与字母顺序相反的顺序排列.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names.sort(reverse=True)
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['zhang', 'xiao', 'wang', 'li']
函数 sorted()
函数 sorted() 对列表临时排序.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
print(sorted(names))
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['li', 'wang', 'xiao', 'zhang']
['xiao', 'zhang', 'wang', 'li']
给函数 sorted() 传递一个参数 reverse=True 可以按照与字母相反的顺序排列.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
print(sorted(names, reverse=True))
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['zhang', 'xiao', 'wang', 'li']
['xiao', 'zhang', 'wang', 'li']
当字母是大小写混杂时将更复杂些.
reverse() 方法
reverse() 方法可以反转列表元素的顺序, 这是永久性地修改元素顺序, 但是如果想要恢复元素的顺序, 可以再一次使用 reverse() 方法.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(names)
names.reverse()
print(names)
names.reverse()
print(names)
结果:
['xiao', 'zhang', 'wang', 'li']
['li', 'wang', 'zhang', 'xiao']
['xiao', 'zhang', 'wang', 'li']
求列表元素个数
用函数 len() 可以求出列表元素的个数.
程序示例:
names = ['xiao', 'zhang', 'wang', 'li']
print(len(names))
结果:
4