我正在尝试创建一个 for 循环来将第一个列表num的内容附加到num2 + 单词千。我正在寻找nums2 = ['one thousand', 'two thousand', 'three thousand', 'four thousand']
. 当我尝试运行它时,我得到的只是list indices must be integers or slices, not str
. 有什么建议么?
nums = ['one', 'two', 'three', 'four']
nums2 = []
for i in nums:
nums2.append(nums[i] + ' thousand')
编辑(美国东部时间下午 1:13,2020 年 12 月 10 日):
这个问题已经有人问过了!我的错。
将相同的字符串附加到 Python 中的字符串列表
当您迭代nums
列表时,i
是列表中的每个值;在第一次迭代中,i
等于one
,在第二次迭代i
中等于two
。
因此,当您尝试访问时,nums[i]
您正在尝试访问nums["one"]
(在第一次迭代中),这显然不存在。
要解决此问题,您可以使用以下方法将 for 循环更改为基于索引的循环range
:
for i in range(len(nums)):
nums2.append(nums[i] + ' thousand')
或者您可以停止尝试从循环内完全访问列表,并使用值i
作为前缀附加thousand
到:
for i in nums:
nums2.append(i + ' thousand')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句