Python list列表的多种用法(附带实例)
在 Python 中,可以使用一个列表(list)存储任何类型的对象,示例代码如下:
此外,列表还可以将另一个列表作为项目,这称为嵌套列表,示例代码如下:
使用 range() 函数可以生成列表,示例代码如下:
可以使用赋值运算符(=)更改一个项目或项目范围,示例代码如下:
可以使用 append() 方法将一个项添加到列表中,或使用 extend() 方法添加多个项,示例代码如下:
可以使用 + 运算符来连接两个列表,其中,* 运算符重复列表给定次数,示例代码如下:
此外,还可以使用 insert() 方法在所需位置插入一个项目,或者通过将多个项目挤压到列表的空白切片中来插入多个项目,示例代码如下:
使用关键字 del 可以从列表中删除一个或多个项目,示例代码如下:
还可以完全删除列表,示例代码如下:
使用 remove() 方法可以删除给定的项目。使用 pop() 方法可以删除给定索引处的项目。使用 clear() 方法可以清空列表。示例代码如下:
还可以通过为一个元素片段分配一个空列表来删除列表中的项目,示例代码如下:
for-in 语句可以轻松遍历列表中的项目,示例代码如下:
为了复制出一个新的列表,可以使用内置的 list.copy() 方法(从 Python 3.3 开始提供),示例代码如下:
使用 new_list = my_list,实际上没有两个列表。赋值仅复制对列表的引用,而不是实际列表,因此,new_list 和 my_list 在赋值后引用相同的列表。
通常,我们只想收集符合特定条件的项目。下面有一个单词列表,我们只想从中提取包含 wo 的单词。为此,需要先创建一个新的空列表,然后遍历原始列表以查找要放入的项目,代码如下:
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print("list1[0]: ", list1[0]) print("list2[1:5]: ", list2[1:5])输出如下:
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]
此外,列表还可以将另一个列表作为项目,这称为嵌套列表,示例代码如下:
my_list = ["mouse", [8, 4, 6], ['a']] # 嵌套列表
使用 range() 函数可以生成列表,示例代码如下:
>>> list(range(10)) # 从0开始,到10,步长为1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(0, 30, 5)) # 从0开始,到30,步长为5 [0, 5, 10, 15, 20, 25]
可以使用赋值运算符(=)更改一个项目或项目范围,示例代码如下:
odd = [2, 4, 6, 8] # 错误的值 odd[0] = 1 # 改变第一项 print(odd) # 输出:[1, 4, 6, 8] odd[1:4] = [3, 5, 7] # 改变第2至第4项 print(odd) # 输出:[1, 3, 5, 7]
可以使用 append() 方法将一个项添加到列表中,或使用 extend() 方法添加多个项,示例代码如下:
odd = [1, 3, 5] odd.append(7) print(odd) # 输出:[1, 3, 5, 7] odd.extend([9, 11, 13]) print(odd) # 输出:[1, 3, 5, 7, 9, 11, 13]
可以使用 + 运算符来连接两个列表,其中,* 运算符重复列表给定次数,示例代码如下:
odd = [1, 3, 5] print(odd + [9, 7, 5]) # 输出:[1, 3, 5, 9, 7, 5] print(["re"] * 3) # 输出:["re", "re", "re"]
此外,还可以使用 insert() 方法在所需位置插入一个项目,或者通过将多个项目挤压到列表的空白切片中来插入多个项目,示例代码如下:
odd = [1, 9] odd.insert(1, 3) print(odd) # 输出:[1, 3, 9] odd[2:2] = [5, 7] print(odd) # 输出:[1, 3, 5, 7, 9]
使用关键字 del 可以从列表中删除一个或多个项目,示例代码如下:
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] del my_list[2] # 删除一个项目 print(my_list) # 输出:['p', 'r', 'b', 'l', 'e', 'm'] del my_list[1:5] # 删除多个项目 print(my_list) # 输出:['p', 'm']
还可以完全删除列表,示例代码如下:
del my_list # 删除整个列表 print(my_list) # 错误:列表未定义
使用 remove() 方法可以删除给定的项目。使用 pop() 方法可以删除给定索引处的项目。使用 clear() 方法可以清空列表。示例代码如下:
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] my_list.remove('p') print(my_list) # 输出:['r', 'o', 'b', 'l', 'e', 'm'] print(my_list.pop(1)) # 输出:'o' print(my_list) # 输出:['r', 'b', 'l', 'e', 'm'] print(my_list.pop()) # 输出:'m' print(my_list) # 输出:['r', 'b', 'l', 'e'] my_list.clear() print(my_list) # 输出:[]
还可以通过为一个元素片段分配一个空列表来删除列表中的项目,示例代码如下:
>>> my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm'] >>> my_list[2:3] = [] >>> my_list ['p', 'r', 'b', 'l', 'e', 'm'] >>> my_list[2:5] = [] >>> my_list ['p', 'r', 'm']
for-in 语句可以轻松遍历列表中的项目,示例代码如下:
for fruit in ['apple', 'banana', 'mango']: print("I like", fruit)
为了复制出一个新的列表,可以使用内置的 list.copy() 方法(从 Python 3.3 开始提供),示例代码如下:
>>> old_list = [1, 2, 3] >>> new_list = old_list.copy()
使用 new_list = my_list,实际上没有两个列表。赋值仅复制对列表的引用,而不是实际列表,因此,new_list 和 my_list 在赋值后引用相同的列表。
通常,我们只想收集符合特定条件的项目。下面有一个单词列表,我们只想从中提取包含 wo 的单词。为此,需要先创建一个新的空列表,然后遍历原始列表以查找要放入的项目,代码如下:
>>> wood = 'How much wood would a woodchuck chuck if a woodchuck could chuck wood?'.split() >>> wood ['How', 'much', 'wood', 'would', 'a', 'woodchuck', 'chuck', 'if', 'a', 'woodchuck', 'could', 'chuck', 'wood?'] >>> wolist = [] # 创建一个空的列表 >>> for x in wood: if 'wo' in x: wolist.append(x) # 向列表增加项目 >>> wolist ['wood', 'would', 'woodchuck', 'woodchuck', 'wood?']打印列表的内容,代码如下:
>>> mylist = ['x', 3, 'b'] >>> print('[%s]' % ', '.join(map(str, mylist))) [x, 3, b]