4 列表操作
4.1 遍历整个列表
-
使用for循环来遍历整个列表
numbers = [1, 2, 3, 4, 8, 9] for number in numbers: print(str(number))
-
for循环让Python一个个地获取列表numbers中的每一个元素,并将其存储在number中,然后通过print语句输出。
-
for循环内的语句都与for语句的开端差一个缩进;
-
for语句末尾的冒号告诉Python下一行是缩进;
-
可以用range(f , l , k )方法来生成一系列的数字,可以选择生成的数组的范围和增加的值,生成从 f 到 l 的数值,并且相邻两个数之间相差 k 。
print("下面用range()来生成一系列数字:")
for value in range(1, 6):
print(value)
-
可以将range( )作为参数传给list( ), 即list(range(f , l , k ) )
print("下面用list()来生成一个数字列表:") numbers = list(range(1, 20, 3)) # 数字的范围为1~20,相邻两个数之间的间隔为3 print(numbers)
4.2列表的一些简单运算
print("下面用list()来生成一个数字列表:")
numbers = list(range(1, 20, 3)) # 数字的范围为1~20,相邻两个数之间的间隔为3
print(numbers)
print(min(numbers)) # 使用方法min()输出列表的最小值
print(max(numbers)) # 使用方法max()输出列表的最大值
print(sum(numbers)) # 使用方法sum()输出列表的和
4.3 列表解析
- 列表解析可以使得创建列表更加简洁:
print("下面是一个列表解析:")
# 创建一个列表,用range生成1~11之间的数,然后将这些数字平方后放入列表中
squares = [value ** 2 for value in range(1, 11)]
print(squares)
4.4 使用列表的一部分
4.4.1 切片
-
要创建切片,可指定要使用的第一个元素和最后一个元素的索引加一,与函数range( )一样,python在达到你指定的第二个元素的索引前面的元素后停止;
print("下面进行一个切片的测试:") words = ['湖', '南', '财', '政', '经', '济', '学', '院'] print(words[0:2]) # 打印列表的前两个元素 print(words[:3]) # 打印列表的前三个元素 print(words[3:]) # 打印列表第三个元素之后的元素 print(words[-2:]) # 打印列表的后两个元素
4.4.2 遍历切片
-
如果要遍历列表中的一部分元素,可以使用切片:
print("下面进行一个遍历列表切片的测试:") words = ['湖', '南', '财', '政', '经', '济', '学', '院'] for word in words[:6]: # 遍历列表的前6个元素,并将它们打印 print(word)
4.4.3 复制列表
- 要复制一个列表,可以使用一个包含整个列表的切片,方法是同时省略启示索引和终止索引;
print("先这样来尝试复制一个列表:")
words = ['湖', '南', '财', '政', '经', '济', '学', '院']
temp = words
print(temp)
temp.append("HUFU") # 向temp列表添加元素
print(temp)
print(words)
print("下面进行一个复制列表的测试:")
words = ['湖', '南', '财', '政', '经', '济', '学', '院']
temp = words[:]
print(temp)
temp.append("HUFU") # 向temp列表添加元素
print(temp)
print(words)
4.5 元组
列表非常适合于用于存储在程序运行期间可能变化的数据集。列表是可以修改的,但有时可能需要系列不可以修改的元素,元组可以满足这一需求。Python将不能修改的值称为不可变的,而不可变的列表称为元组。
4.5.1 定义元组
-
元组定义使用圆括号而不是方括号。
-
定义元组后,就可以使用索引来访问其元素。
-
元组定义后,无法修改。
print("下面定义一个元组,并进行一些操作:") words = ('湖', '南', '财', '政', '经', '济', '学', '院') print(words) # 打印整个元组 print(words[2]) # 打印索引为2的元素 print(words[:3]) # 打印前三个元素 words[0] = 'HUFU' # 尝试改变元组中的元素 print(words) # 导致程序报错