今天是2020年2月13日,多云,10~16℃
要遍历列表,可使用Python中的for循环语句。使用方式类似C#中的foreach语句。
#for a in a_list:
names = ["Harry","Bulk","Jack","Parker","Michael"]
for name in names:
print(name)
'''
Output:
Harry
Bulk
Jack
Parker
Michael
'''
for循环结束后,遍历用的变量将储存循环中最后一个元素。
for循环可用于所有可迭代对象。
不同于C/C++等语言,Python不使用大括号( {} )作为语句分块的标识,而是根据语句前的缩进来分块。
for name in names:
print("My name is ")
print(name)
print(names)
'''
Output:
My name is
Harry
My name is
Bulk
My name is
Jack
My name is
Parker
My name is
Michael
['Harry', 'Bulk', 'Jack', 'Parker', 'Michael']
'''
range函数能够简单快速地生成一系列整数。
#range(start , end , step = none)
numbers = range(1,6)
for number in numbers:
print(number)
print(numbers)
'''
Output:
1
2
3
4
5
range(1, 6)
'''
range函数还有第三个缺省参数,用于指定数字间的间隔。
生成的数字将从 start 开始,到 end - 1 结束。
range函数返回的并非list类型,而是range类型。
生成数值序列后,可以用list函数将序列转换成list类型。
numbers = range(1,6)
number_list = list(numbers)
print(number_list) #Output:[1, 2, 3, 4, 5]
利用range函数和list函数,可以创建许多复杂的数值列表。
#创建平方数列表
numbers = range(1,6)
number_list = []
for number in numbers:
number **= 2
number_list.append(number)
print(number_list) #Output:[1, 4, 9, 16, 25]
Python提供了一些专门用于数值列表处理的函数。下面以上方创建的平方数列表 number_list 为对象示例。
max函数需要一个数值列表,并返回其中的最大值。
#max(list_name)
max_number = max(number_list)
print(max_number) #Output:25
min函数需要一个数值列表,并返回其中的最小值。
#min(list_name)
min_number = min(number_list)
print(min_number) #Output:1
max函数和min函数还可以不使用列表,而使用一串数字序列作为参数序列。
在使用列表(可迭代对象)为参数时,还可以另外指定参数 key 和 default。
sum函数需要一个数值列表,并返回数值列表的元素之和。
#sum(list_name)
sum_number = sum(number_list)
print(sum_number) #Output:55
sum函数还可以添加一个参数 start ( 默认为0),返回结果将为列表数值和再加上start的值。
列表解析将快速简单地使用一行代码完成列表的创建。
#list_name = [exp for a in iterabe ] 其中exp为含有变量a的表达式
number_list = [number ** 2 for number in range[1,6]]
print(number_list) #Output:[1, 4, 9, 16, 25]
若想获取列表的子列表,可通过索引对列表进行切片。
#list_name[index1 : index2]
number_list = [1,4,9,16,25]
number_list1 = number_list[1:4]
print(number_list1) #Output:[4, 9, 16]
切片时参数 index1 和 index2 都可以省略。index1 默认为0,index2 默认为列表长度,即 len(list_name) 。
使用切片时一定要注意索引下标从0开始。
列表切片将创建一个新的列表,或者说将原列表的一部分复制,而非将另一个变量绑定在原列表上。
number_list1 = [1,4,9,16,25]
number_list2 = number_list1[:]
number_list1.append("I'm list1.")
number_list2.append("I'm list2.")
print(number_list1)
print(number_list2)
'''
Output:
[1, 4, 9, 16, 25, "I'm list1."]
[1, 4, 9, 16, 25, "I'm list2."]
'''
若只想遍历列表的部分子列表,也可以使用列表切片。
for number in number_list[:3]:
print(number)
'''
Output:
1
4
9
'''
当不希望列表的元素被修改时,Python提供了元组这一数据类型。列表和元组的区别就在于元素是否可被修改。
元组的定义和列表类似,区别在于元组使用圆括号( () )而非方括号( [] )。
number_tuple = (1,4,9,16,25)
number_tuple[1] = 3 #traceback:'tuple' object does not support item assignment
元组可像列表一样进行遍历或切片,且切片得到的也是一个元组。
元组也可使用list函数来转换成list类型。
number_tuple = (1,4,9,16,25)
for number in number_tuple:
print(number)
number_tuple1 = number_tuple[1:4]
print(type(number_tuple1))
number_list = list(number_tuple)
print(number_list)
'''
Output:
1
4
9
16
25
[1, 4, 9, 16, 25]
'''
元组的元素虽然不能被修改,但元组变量本身可被修改。
number_tuple = (1,2,3,4,5)
print(number_tuple)
number_tuple = (6,7,8,9,10)
print(number_tuple)
'''
Output:
(1, 2, 3, 4, 5)
(6, 7, 8, 9, 10)
'''
平等不能简单地理解为财富地绝对相同,而是在权力上不诉诸暴力,仅依据秩序和法律行事。