Python 如何向列表中的每个字符串添加字符串?
我正在尝试创建一个for循环,将第一个list num的两个内容都附加到num2+单词1000。我在找Python 如何向列表中的每个字符串添加字符串?,python,for-loop,Python,For Loop,我正在尝试创建一个for循环,将第一个list num的两个内容都附加到num2+单词1000。我在找 nums2=['一千'、'两千'、'三千'、'四千']。当我试图运行这个程序时,我得到的只是列表索引必须是整数或片,而不是str。有什么建议吗 nums = ['one', 'two', 'three', 'four'] nums2 = [] for i in nums: nums2.append(nums[i] + ' thousand') 编辑(美国东部时间2020年10月1
nums2=['一千'、'两千'、'三千'、'四千']
。当我试图运行这个程序时,我得到的只是列表索引必须是整数或片,而不是str
。有什么建议吗
nums = ['one', 'two', 'three', 'four']
nums2 = []
for i in nums:
nums2.append(nums[i] + ' thousand')
编辑(美国东部时间2020年10月12日下午1:13):
这个问题已经被问过了!我的错。当您在
nums
列表上迭代时,i
是列表中的每个值;在第一次迭代中,i
等于one
,在第二次迭代中,i
等于two
因此,当您试图访问nums[i]
时,您试图访问nums[“一”]
(在第一次迭代中),这显然是不存在的
要解决此问题,您可以使用range
,将for循环更改为基于索引的循环:
for i in range(len(nums)):
nums2.append(nums[i] + ' thousand')
或者您可以完全停止尝试从循环中访问列表,并使用i
的值作为前缀,将1000
附加到:
for i in nums:
nums2.append(i + ' thousand')
在本例中,“i”是字符串,因为字符串是列表中的元素。尝试在append中使用i而不是nums[i]。例如:
nums = ['one', 'two', 'three', 'four']
nums2 = []
for i in nums:
nums2.append(i + ' thousand')
for循环中的变量i引用nums列表中的各个元素,在本例中这些元素是字符串。您需要整数作为索引,因此在您的情况下,for循环可以修改为:
for i,k in enumerate(nums):
nums2.append(nums[i] + ' thousand')
您可以通过打印nums2检查是否正确:
print(nums2)
您可以尝试:
nums = ["Ford", "Volvo", "BMW"]
nums2 = []
for i in nums:
nums2.append(i + ' thousand')
i
是实际值,而不是索引。无需在附加语句中再次调用nums
。对于nums中的i:
可以是对于范围内的i(len(nums)):
。或者只需将nums[i]
更改为i
@RandomDavis,它不需要是索引。只需使用该值。您的意思是:nums2=[num+'000'表示num中的num]
?非常好的解释,谢谢!我真的很感谢你的帮助。