写代码中会遇到很多需要给元素中添加索引的情况,有很多人会使用for循环来保存每个元素的索引,但是不建议这样使用
不建议这么写
for i in range(len(my_items)):
print(i, my_items[i])
可以采用enumerate(),这个内置函数的基本应用就是用来遍历一个集合对象,它在遍历的同时还可以得到当前元素的索引位置。
通过增加从零开始的计数器变量来为每个元素生成索引:
names = ["张三","李四","zhangsan","wangwu"]
for index,value in enumerate(names):
print(f'{index}: {value}')
# 输出:
0: 张三
1: 李四
2: zhangsan
3: wangwu
优化:
可以看上上边的索引是从0开始的,但是很多情况我们需要索引是从1开始,对上述代码进行修改,具体如下:
# 函数调用改为enumerate(names, 1),后面的参数1就是本次循环的起始索引,替换默认的0
names = ["张三","李四","zhangsan","wangwu"]
for index,value in enumerate(names,1):
print(f'{index}: {value}')
# 输出的格式可以自定义
print(index,value)
# 输出:
1: 张三
2: 李四
3: zhangsan
4: wangwu
# 输出:
1 张三
2 李四
3 zhangsan
4 wangwu
a, remainder= divmod(999, 10)
print(a, remainder)
# 输出:
99 9 # (商,余数)
python中商与余数的其他计算方法:
a,b = 999,10
商 = a // b
余数 = a % b
print(商) # 99
print(余数) # 9