pets=['cat','dog','pig','tiger'] #定义一个宠物列表
for pet in pets: #for循环遍历pets列表,pet为存储列表中每个值的临时变量
print(pet) #语句缩进表示为for循环内的语句,每次循环执行,不断输出pet的值
#>>>cat dog pig tiger #输出列表中的四个值
print("i love "+pet+" very much!\n") #语句缩进,循环执行
print("\nthis pet is good!") #语句未缩进,只执行一次
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
cat
i love cat very much!
dog
i love dog very much!
pig
i love pig very much!
tiger
i love tiger very much!
this pet is good! #因为这句语句未缩进,所以只在最后执行一次
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
#使用for循环时不要忘记for语句后的冒号“:”,以及语句缩进!!!
2.1.Python中使用range()函数可以轻松生成一系列数字。例如:
for value in range(1,5):
print(value)
#>>>>>>>>>>>>>>>>>>>>>>>
1
2
3
4
注意这里的range(1,5)只是打印1~4,并不会打印5。range()函数让Python从你指定的第一个值开始数,并到达你指定的第二个值后停止,因此输出不包含第二个值。如果要打印数字1~5,则需要使用range(1,6).
如果range()中只有一个指定的值,则从0开始生成到该值前一个值后停止。
number=list(range(3)) #range()只指定一个值3,相当于range(0,3)
print(number)
#>>>>>>>>>>>>>>>>>>>>>>>
[0, 1, 2]
使用rang()还可指定步长:
for num in range(1,50,10): #步长为10 #从1开始加10,直到50为止
print(num)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1
11 #1+10
21 #11+10
31 #21+10
41 #31+10
#41+10已经超过50,所以结束!
2.2使用range()创建数字列表
要创建数字列表可以使用函数list()将range()的结果转换为列表,如果将range()作为list()的参数,输出将为一个数字列表。
number=list(range(1,5)) #range(1,5)作为list()中的一个参数
print(number)
#>>>>>>>>>>>>>>>>>>>>>>
[1, 2, 3, 4]
打印1~10内的偶数:
number=list(range(2,11,2)) #从2开始,不断加2,直到超过11
print(number)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[2, 4, 6, 8, 10]
打印1~10的平方:
number=[] #先定义一个空列表
for num in range(1,11): #遍历1~10
number.append(num**2) #每遍历一个值就往number列表里添加一个它的平方
print(number)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
对数字列表执行简单统计:
number=[1,2,3,4,5] #定义一个数字列表
print(min(number)) #输出它的最小值
print(max(number)) #输出它的最大值
print(sum(number)) #输出它的总和
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1 #最小值
5 #最大值
15 #总和
列表解析:
#1~10的平方数
number=[] #先定义一个空列表
for num in range(1,11): #遍历1~10
number.append(num**2) #每遍历一个值就往number列表里添加一个它的平方
print(number)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
#列表解析:
number=[num**2 for num in range(1,11)] #将上述代码简化一句
print(number)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.1.创建切片,可以指定要使用第一个元素和最后一个元素的位置(索引),与range()一样python在到达指定的第二个索引前面的元素后停止。例如:
abc=['A','B','C','D','E']
print(abc[0:2]) #输出0~2号位置的元素值,因为到2号位置前面一个元素后停止,所以输出A、B
#>>>>>>>>>>>>>>>
['A', 'B']
abc=['A','B','C','D','E']
print(abc[2:5]) #提取第2~4个元素
#>>>>>>>>>>>>>>>>>
['C', 'D', 'E']
如果没有起始索引,python将从头开始提取,,,如果没有终止索引,python将提取从起始索引到列表末尾的所有元素。
abc=['A','B','C','D','E']
print(abc[:2]) #不指定起始索引,只指定终止索引
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
['A', 'B']
abc=['A','B','C','D','E']
print(abc[2:]) #不指定终止索引,只指定起始索引
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
['C', 'D', 'E']
#此外,python还可以使用负数,倒数提取:
abc=['A','B','C','D','E']
print(abc[-2:]) #起始元素为-2,将提取倒数第二个元素后的所有元素
print(abc[:-2]) #不设置起始元素,将从头提取到列表的倒数第二个元素前一个元素
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
['D', 'E'] #提取倒数第二个元素后的所有元素
['A', 'B', 'C'] #从头提取到列表的倒数第二个元素前一个元素
3.2.遍历切片
#使用切片遍历列表的前三个元素
abc=['A','B','C','D','E']
for a in abc[0:3]:
print(a)
#>>>>>>>>>>>>>>>>>>>>>>>>>>
A
B
C
3.3.复制列表
复制列表,可创建一个包含整个列表的切片,方法是同时省略起始和终止索引"[ : ]"。这可以让python创建一个始于第一个元素,终止与最后一个元素的切片,即复制整个列表。例如:
list_one=[1,2,3,4,5,6] #创建列表list_one
list_two=list_one[:] #list_two执行复制list_one操作
list_one.append(7) #在list_one加入7
list_two.append(8) #在list_two加入8
print(list_one)
print(list_two)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[1, 2, 3, 4, 5, 6, 7] #list_one中加入了数字7
[1, 2, 3, 4, 5, 6, 8] #list_two中加入了8,,说明这是两个列表,list_two复制成功
--------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------
#错误示例 #错误示例 #错误示例 #错误示例 #错误示例
list_one=[1,2,3,4,5,6]
list_two=list_one
list_one.append(7) #在list_one加入7
list_two.append(8) #在list_two加入8
print(list_one)
print(list_two)
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[1, 2, 3, 4, 5, 6, 7, 8] #两个列表都有7,8,这并不是复制列表,而是将list_one与新变量list_two关联起来而已
[1, 2, 3, 4, 5, 6, 7, 8] #即list_one与list_two都指向的是同一个列表,这并不是复制列表
元组使用()圆括号来标识,列表是可以修改的,而元组是不可修改的列表。#元组不可修改 #元组不可修改。例如:
yuanzu=(1,2,3,4) #创建元组
#如果这里输入: yuanzu[0]=5 错误的 #元组不可被修改
print(yuanzu) #输出元组中的值
print(yuanzu[0]) #输出元组中0号位置上的值
print(yuanzu[-1]) #输出元组中倒数第一个位置的值
#>>>>>>>>>>>>>>>>>>>>>>
(1, 2, 3, 4) #与列表输出带有[]类似,元组输出带有()
1 #0号位置的值
4 #倒数第一个位置的值
#遍历元组中的值: # 与遍历列表一样,也可以使用切片
yuanzu=(1,2,3,4)
for a in yuanzu:
print(a)
#>>>>>>>>>>>>>>>>>>>>>
1 2 3 4
#遍历切片:
yuanzu=(1,2,3,4)
for a in yuanzu[2:]:
print(a)
#>>>>>>>>>>>>>>>>>>>>>
3 4
修改元组变量:
元组中的值不可被修改,但可以给存储元组的变量赋值
test=('one','two','three') #设置元组
print(test) #输出元组test
test=(1,2,3) #从新给元组test赋值
print(test) #输出元组test
#>>>>>>>>>>>>>>>>>>>>>>>>>
('one', 'two', 'three') #第一次输出元组test中的值
(1, 2, 3) #输出从新赋值后的元组test中的值