Python 列表
6.Python 列表
6.1创建 列表
列表是一个有序且可更改的集合。在 Python 中,列表用方括号编写。
实例
创建列表:
thislist = ["apple", "banana", "cherry"]
print(thislist)
运行结果:
['apple', 'banana', 'cherry']
list()函数构造列表
thislist = list(("apple", "banana", "cherry")) # 请注意双括号
print(thislist)
运行结果:
['apple', 'banana', 'cherry']
6.2访问项目
6.2.1 索引
通过引用索引号来访问列表项:
#打印列表的第二项
thislist = ["apple", "banana", "cherry"]
print(thislist[1])
运行结果:
banana
负的索引
负索引表示从末尾开始,-1 表示最后一个项目,-2 表示倒数第二个项目,依此类推。
#打印列表的最后一项:
thislist = ["apple", "banana", "cherry"]
print(thislist[-1])
运行结果:
cherry
6.2.2 切片
您可以通过指定范围的起点和终点来指定索引范围。
指定范围后,返回值将是包含指定项目的新列表。
实例
返回第三、第四、第五项:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[2:5])
运行结果:
['cherry', 'orange', 'kiwi']
注释:搜索将从索引 2(包括)开始,到索引 5(不包括)结束。
请记住,第一项的索引为 0。
负索引的切片
如果要从列表末尾开始搜索,请指定负索引。
此例将返回从索引 -4(包括)到索引 -1(排除)的项目:
thislist = ["apple", "banana", "cherry", "orange", "kiwi", "melon", "mango"]
print(thislist[-4:-1])
运行结果:
['orange', 'kiwi', 'melon']
6.3 更改项目值
如需更改特定项目的值,请引用索引号:
实例
更改第二项:
thislist = ["apple", "banana", "cherry"]
thislist[1] = "mango"
print(thislist)
运行结果:
['apple', 'mango', 'cherry']
6.4 遍历列表
使用 for
循环遍历列表项:
实例
逐个打印列表中的所有项目:
thislist = ["apple", "banana", "cherry"]
for x in thislist:
print(x)
运行结果:
apple
banana
cherry
6.5 检查项目是否存在
如需确定列表中是否存在指定的项,请使用 in
关键字:
实例
检查列表中是否存在 “apple”:
thislist = ["apple", "banana", "cherry"]
if "apple" in thislist:
print("Yes, 'apple' is in the fruits list")
运行结果:
Yes, 'apple' is in the fruits list
6.6 列表长度
如需确定列表中有多少项,请使用 len()
方法:
实例
打印列表中的项目数:
thislist = ["apple", "banana", "cherry"]
print(len(thislist))
运行结果:
3
6.7 添加项目
如需将项目添加到列表的末尾,请使用 append()
方法:
实例
使用 append()
方法追加项目:
thislist = ["apple", "banana", "cherry"]
thislist.append("orange")
print(thislist)
运行结果:
['apple', 'banana', 'cherry', 'orange']
要在指定的索引处添加项目,请使用 insert()
方法:
实例
插入项目作为第二个位置:
thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")
print(thislist)
运行结果:
['apple', 'orange', 'banana', 'cherry']
6.8 删除项目
有几种方法可以从列表中删除项目:
实例
remove()
方法删除指定的项目:
thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)
运行结果:
['apple', 'cherry']
实例
pop()
方法删除指定的索引(如果未指定索引,则删除最后一项):
thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist)
运行结果:
['apple', 'banana']
实例
del
关键字删除指定的索引:
thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist)
运行结果:
['banana', 'cherry']
实例
del
关键字也能完整地删除列表:
thislist = ["apple", "banana", "cherry"]
del thislist
实例
clear()
方法清空列表:
thislist = ["apple", "banana", "cherry"]
thislist.clear()
print(thislist)
运行结果:
[]
6.9 复制列表
您只能通过键入 list2 = list1
来复制列表,因为:list2
将只是对 list1
的引用,list1
中所做的更改也将自动在 list2
中进行。
有一些方法可以进行复制,一种方法是使用内置的 List 方法 copy()
。
实例
使用 copy()
方法来复制列表:
thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)
运行结果:
['apple', 'banana', 'cherry']
制作副本的另一种方法是使用内建的方法 list()
。
实例
使用 list()
方法复制列表:
thislist = ["apple", "banana", "cherry"]
mylist = list(thislist)
print(mylist)
运行结果:
['apple', 'banana', 'cherry']
6.10 合并两个列表
在 Python 中,有几种方法可以连接或串联两个或多个列表。
最简单的方法之一是使用 + 运算符。
实例
合并两个列表:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list3 = list1 + list2
print(list3)
运行结果:
['a', 'b', 'c', 1, 2, 3]
连接两个列表的另一种方法是将 list2 中的所有项一个接一个地追加到 list1 中:
实例
把 list2 追加到 list1 中:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
for x in list2:
list1.append(x)
print(list1)
运行结果:
['a', 'b', 'c', 1, 2, 3]
或者,可以使用 extend() 方法,其目的是将一个列表中的元素添加到另一列表中:
实例
使用 extend() 方法将 list2 添加到 list1 的末尾:
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list1.extend(list2)
print(list1)
运行结果:
['a', 'b', 'c', 1, 2, 3]
6.11 列表方法
Python 有一组可以在列表上使用的内建方法。
方法 | 描述 |
---|---|
append() | 在列表的末尾添加一个元素 |
clear() | 删除列表中的所有元素 |
copy() | 返回列表的副本 |
count() | 返回具有指定值的元素数量。 |
extend() | 将列表元素(或任何可迭代的元素)添加到当前列表的末尾 |
index() | 返回具有指定值的第一个元素的索引 |
insert() | 在指定位置添加元素 |
pop() | 删除指定位置的元素 |
remove() | 删除具有指定值的项目 |
reverse() | 颠倒列表的顺序 |
sort() | 对列表进行排序 |