文件名称:序列上索引值迭代-华为云大数据中台架构分享
文件大小:5.68MB
文件格式:PDF
更新时间:2024-07-01 05:00:26
Python cookbook 中文 参考
4.10 序列上索引值迭代 问题 你想在迭代一个序列的同时跟踪正在被处理的元素索引。 解决方案 内置的 enumerate() 函数可以很好的解决这个问题: >>> my_list = ['a', 'b', 'c'] >>> for idx, val in enumerate(my_list): ... print(idx, val) ... 0 a 1 b 2 c 为了按传统行号输出(行号从 1 开始),你可以传递一个开始参数: >>> my_list = ['a', 'b', 'c'] >>> for idx, val in enumerate(my_list, 1): ... print(idx, val) ... 1 a 2 b 3 c 这种情况在你遍历文件时想在错误消息中使用行号定位时候非常有用: def parse_data(filename): with open(filename, 'rt') as f: for lineno, line in enumerate(f, 1): fields = line.split() try: count = int(fields[1]) ... except ValueError as e: print('Line {}: Parse error: {}'.format(lineno, e))