python中枚举、得出序号enumerate函数,返回整数的divmod(a,b)函数介绍,python中商、余数的计算方法

一、enumerate函数

写代码中会遇到很多需要给元素中添加索引的情况,有很多人会使用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

二、divmod函数

  • divmod(a,b)方法返回的是a/b(取整)以及a对b的余数
  • 返回结果类型为tuple(元组)
  • a,b可以为数字(包括复数)
    举例如下:
a, remainder= divmod(999, 10)
print(a, remainder)

# 输出:
99 9  # (商,余数)

python中商与余数的其他计算方法:

a,b = 999,10= a // b
余数 = a % b

print()  # 99
print(余数)  # 9

你可能感兴趣的:(Python基础,python,开发语言)