我有一个字符串列表并打印列表中的每个字符串,而不是['word1','word2','word3']
,而是word1
,word2
,word3
。
我试过这样做:
for i in list:
print list[i]
但我收到了消息
“list indices必须是整数,而不是str”
我真的很困惑我应该怎么做呢?
答案 0 :(得分:3)
for i in list:
print i
我是list元素:换句话说,它按顺序采用成员字符串的值。
答案 1 :(得分:1)
首先,不要将变量命名为list
,因为这是一个python内置保留类。你以后会节省自己的困惑。我们在这里称之为lst
。
现在,你的错误。
“list indices必须是整数,而不是str”
lst[i]
正在访问索引,但它“必须是整数”。但是,i
是str
(Python字符串类)。但i
是什么?好吧,它是当前迭代的元素in lst
。
您只需打印i
即可“调试”您的脚本,看看它是什么。
如果您仍然感到困惑(就像您看到它打印1
),那么您应该打印type(i)
,它会说<type 'str'>
,打印repr(i)
会看到{ {1}},因此您将打印'1'
以将字符串int(i)
强制转换为int '1'