所以我得到这个错误:
TypeError: list indices must be integers, not str
指向这行代码:
if snarePattern[i] == '*':
每当我使用我认为简单的 Python 时
snarePattern = ['-', '*', '-', '*']
for i in snarePattern:
if snarePattern[i] == '*':
...
这是不允许的吗?我不知道什么?
另外,如果有人知道我要处理这段代码,你能想出一种更简单的方法来创建和解析像这样的简单模式吗???我是 Python 新手。
谢谢大家
最佳答案
for i in snarePattern:
遍历每个 item 而不是每个索引:
>>> snarePattern = ['-', '*', '-', '*']
>>> for c in snarePattern:
print c
-
*
-
*
可以改成
for i in range(len(snarePattern)):
如果你真的需要它,但看起来你不需要,例如检查是否 c == '*'
。
更好的遍历索引的方法是
for i, c in enumerate(snarePattern): # i is each index, c is each character
关于python - Python 中的列表迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16137837/