联系切片和range: 都不包含range
enumerate(可遍历对象, start = 0)
start参数用来设置遍历数据的下标的起始值,默认为0
返回结果是元组:第一个数据是元迭代对象的下标,第二个值是迭代对象的数据
> name_list = ['Tom', 'Lily', 'Nancy']
> for i in enumerate(name_list):
print(i)
(0, 'Tom')
(1, 'Lily')
(2, 'Nancy')
> for index, char in enumerate(name_list):
print(f'下标是{index}, 对应的字符是{char}')
下标是0, 对应的字符是Tom
下标是1, 对应的字符是Lily
下标是2, 对应的字符是Nancy
容器类型转换
list()
tuple()
set()
推导式:化简代码
只有列表、字典、集合
创建一个有规律的列表
带for的
先试验用while和for:
创建一个0-10之间的列表
用while:
list = []
i = 0
while i < 10:
list.append(i)
i+=1
print(list)
结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
用for循环:
list = []
for i in range(10):
list.append(i)
print(list)
结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
列表推导式:
list1 = [i for i in range(10)]
print(list1)
结果: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
带if的
创建0-10的偶数列表:
list2 = [i for i in range(10) if i%2 == 0]
print(list2)
结果:[0, 2, 4, 6, 8]
多个for = for循环嵌套
字典推导式
dic1 = {i: i**2 for i in range(1,8)}
# i: i**2 key: value![请添加图片描述](https://img-blog.csdnimg.cn/5ed0c0c20e70453e9923c235ad7ce4f2.png)
print(dic1)
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49}