Python for循环处理文件内容时如何替代手动递增索引j的实现方式
方案1:使用列表切片+map(最简洁)
直接切出你需要的元素段批量转int即可,完全不需要手动维护索引j,也不需要提前初始化var数组,和原代码逻辑完全等价:
with open("file.txt", "r") as f: content = f.readline().split(";") var = list(map(int, content[2:5]))
方案2:列表推导式(可读性更高)
如果更偏好列表推导式的写法,也可以按如下方式实现:
with open("file.txt", "r") as f: content = f.readline().split(";") var = [int(elem) for elem in content[2:5]]
方案3:保留循环逻辑用enumerate
如果后续有业务扩展需要保留显式循环结构,可以用enumerate自动生成递增的j索引,不需要手动维护累加逻辑:
var = [None] * 3 with open("file.txt", "r") as f: content = f.readline().split(";") for j, i in enumerate(range(2, 5)): var[j] = int(content[i])
内容的提问来源于stack exchange,提问作者Rúshi
相关产品推荐
相关产品推荐

