使用while循环
while循环遍历列表
list1 = ['a', 1, True]
index1 = 0
while index1 < len(list1):
print(list1[index1])
index1 += 1
使用 for 循环:
遍历列表
for循环遍历列表
list1 = ['a', 1, True]
for n in list1:
print(n)
# a
# 1
# True
遍历字典
遍历key
for循环遍历字典, 默认遍历 key
dict1 = {'name': '张三', 'age': 18}
for n in dict1:
print(n)
# name
# age
结果和上面一样都是遍历key:
dict1 = {'name': '张三', 'age': 18}
for n in dict1.keys():
print(n)
遍历value:
dict1 = {'name': '张三', 'age': 18}
for n in dict1.values():
print(n)
# 张三
# 18
还可以:
dict1 = {'name': '张三', 'age': 18}
for n in dict1:
print(dict1[n])
遍历键值对
键值对是放在元祖里面的
dict1 = {'name': '张三', 'age': 18}
for n in dict1.items():
print(n)
# ('name', '张三')
# ('age', 18)
小总结
for可以不依赖于索引取指,是一种通用的循环取值方式
for的循环次数是由被循环对象包含值的个数决定的.而while的循环次数是由条件决定的
range迭代器
语法
range(起始索引, 结束索引, 步长)
后面讲, 这里了解下
range1 = range(0, 5)
print(range1)
print(type(range1))
print(list(range1))
# range(0, 5)
# <class 'range'>
# [0, 1, 2, 3, 4]
为什么不直接变成列表,因为会浪费内存
比如
range1 = range(0, 1000000000000)
# range(0, 1000000000000)
# 如果是列表, 这里会打印很长很长, 这样就在浪费内存
range 一般和for循环连用,循环一次取一次!用一次少一次!节约内存!
for n in range(0, 3):
print(n)
# 0
# 1
# 2
# ============================
# 如果列表很长, 就浪费内存
for n in [0, 1, 2]:
print(n)
# 0
# 1
# 2
# ============================
for n in range(3, 5):
print(n)
# 3
# 4
# ============================
for n in range(1, 7, 2):
print(n)
# 1
# 3
# 5