Python遍历二进制数列表输出结果异常 如何修复现有代码?
问题修正方案
你代码运行输出和预期不符的核心原因有两个:
- 代码逻辑存在无用操作:你初始化了空列表
s,但循环中直接将s重新赋值为字符串,完全没有用到列表的存储功能。 - 变量被意外修改:你给出的
random_key定义的元素和你贴出的运行输出完全不匹配,大概率是在执行打印代码前,有其他逻辑覆盖了random_key的值。
正确代码
场景1:仅需要逐个打印列表元素
不需要额外定义存储变量,直接遍历打印即可:
random_key = ['0011111011100101', '0000010111111011', '0011100110110100', '1000010101010010', '0011001011001111', '1101101101110011', '1100001111111011', '0000100000110100', '0101111010100101', '1001100101100001'] for e in random_key: print(e)
场景2:需要把转字符串后的元素存入新列表,同时打印
用列表的append方法添加元素:
random_key = ['0011111011100101', '0000010111111011', '0011100110110100', '1000010101010010', '0011001011001111', '1101101101110011', '1100001111111011', '0000100000110100', '0101111010100101', '1001100101100001'] s = [] for e in random_key: str_e = str(e) s.append(str_e) print(str_e)
注意:不要在遍历random_key前对该变量做其他赋值或者修改操作,避免元素被覆盖。运行上述代码后输出的结果就会和random_key里的元素完全一致,如果你运行后还是得到异常输出,直接检查你当前代码中random_key的实际赋值即可。
内容的提问来源于stack exchange,提问作者Assassinos
相关产品推荐
相关产品推荐

