Dan*_*ore 2 python for-loop list
所以我得到这个错误:
TypeError: list indices must be integers, not str
Run Code Online (Sandbox Code Playgroud)
指向这行代码:
if snarePattern[i] == '*':
Run Code Online (Sandbox Code Playgroud)
每当我使用我认为简单的Python时
snarePattern = ['-', '*', '-', '*']
for i in snarePattern:
if snarePattern[i] == '*':
...
Run Code Online (Sandbox Code Playgroud)
这是不允许的?我不知道什么?
而且,如果有人知道我将使用此代码,你能想到一种更简单的方法来创建和解析这样的简单模式吗?我是Python的新手.
多谢你们
jam*_*lak 13
for i in snarePattern:遍历每个项目而不是每个索引:
>>> snarePattern = ['-', '*', '-', '*']
>>> for c in snarePattern:
print c
-
*
-
*
Run Code Online (Sandbox Code Playgroud)
你可以把它改成
for i in range(len(snarePattern)):
Run Code Online (Sandbox Code Playgroud)
如果你真的需要它,但看起来你没有,只需检查一下c == '*'.
一个更好的办法去通过指数是
for i, c in enumerate(snarePattern): # i is each index, c is each character
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
95 次 |
| 最近记录: |