操作列表
一:遍历整个列表 – for循环
names=['xixi', 'gofy', 'haha']
for name in names:
print(f"{name} is very very good good")
print(f"{name},欢迎回家\n")
xixi is very very good good
xixi,欢迎回家
gofy is very very good good
gofy,欢迎回家
haha is very very good good
haha,欢迎回家
练习
pizzas=['xixi', 'gofy', 'haha']
for pp in pizzas:
print(f"i like {pp}.")
print(f"I really love pizza!")
i like xixi.
i like gofy.
i like haha.
I really love pizza!
二:创建数值列表
1.range(a,b) 函数 – 包左不包右 – 整数 – 第三个参数步长
for num in range(5):
print(num)
0
1
2
3
4
for num in range(1,5):
print(num)
1
2
3
4
2.使用 range() 创建数值列表 – list()函数 + range()函数
nums1=list(range(1,5))
print(nums1)
[1, 2, 3, 4]
nums2=list(range(1,10,2))
print(nums2)
[1, 3, 5, 7, 9]
练习:如何创建一个列表,其中包含前 10 个整数(1~10)的平方呢?
** 乘方运算 – 4**4 (444*4)
ans=[]
for num in range(1,11):
ans.append(num**num)
print(ans)
[1, 4, 27, 256, 3125, 46656, 823543, 16777216, 387420489, 10000000000]
ans=[]
for num in range(1,11):
ans.append(num**2)
print(ans)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
3.对数值列表执行简单的统计计算 – min()函数/max函数/sum函数
print(min(ans))
print(max(ans))
print(sum(ans))
1
100
385
4.列表推导式 列表里+for循环
练习:如何创建一个列表,其中包含前 10 个整数(1~10)的平方呢?
ans1=[num**2 for num in range(1,11)]
print(ans1)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
5.练习
print()不换行输出打印
for num in range(1,21):
print(num,end=" ")
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
for num in range(1,21,2):
print(num,end=" ")
1 3 5 7 9 11 13 15 17 19
for num in range(3,31,3):
print(num,end=" ")
3 6 9 12 15 18 21 24 27 30
for num in range(1,11):
print(num**3,end=" ")
1 8 27 64 125 216 343 512 729 1000
ans2=[num**3 for num in range(1,11)]
print(ans2)
[1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
三:使用列表的一部分–切片
1.切片使用
# 同range()函数,包左不包右
names=['xixi', 'gofy', 'haha',"xiha"]
print(names[1:2])
print(names[:])
print(names[0:2])
['gofy']
['xixi', 'gofy', 'haha', 'xiha']
['xixi', 'gofy']
# 负数逆着取
print(names[-1:])
print(names[1:])
print(names[:-3]) #
print(names[-1:-3])
print(names[-3:]) # 输出倒数3名学生
['xiha']
['gofy', 'haha', 'xiha']
['xixi']
[]
['gofy', 'haha', 'xiha']
2.遍历切片
names1=['xixi', 'gofy', 'haha',"xiha"]
for name in names1[1:4]: #包左不包右
print(f"{name} is very very good good")
print(f"{name},欢迎回家\n")
gofy is very very good good
gofy,欢迎回家
haha is very very good good
haha,欢迎回家
xiha is very very good good
xiha,欢迎回家
3.复制列表
# 错误做法
names1=['xixi', 'gofy', 'haha',"xiha"]
names2=names1
print(names2)
['xixi', 'gofy', 'haha', 'xiha']
names2.append("good")
print(names2)
print(names1) ## 上面那种复制方式不行
['xixi', 'gofy', 'haha', 'xiha', 'good']
['xixi', 'gofy', 'haha', 'xiha', 'good']
# 正确做法
names1=['xixi', 'gofy', 'haha',"xiha"]
names2=names1[:]
names2.append("good")
print(names2)
print(names1) ## 上面那种复制方式不行
['xixi', 'gofy', 'haha', 'xiha', 'good']
['xixi', 'gofy', 'haha', 'xiha']
4.练习
Myf=['xixi', 'gofy', 'haha',"xiha"]
ff=Myf[:]
ff.append("good")
print("My favorite pizzas are:",end=" ")
for f in Myf:
print(f,end=", ")
My favorite pizzas are: xixi, gofy, haha, xiha,
print("My favorite pizzas are:",end=" ")
for f in ff:
print(f,end=", ")
My favorite pizzas are: xixi, gofy, haha, xiha, good,