在for循环中将数字附加到字符串

时间:2015-09-04 17:54:37

标签: python python-2.7

我有一个字符串,代码如下:

list_k = [23,5,2,5,76,34,32,12,43,6]
for number in range((len(list_k)):
    the_string="The number is " + str(number)
    print the_string

预期输出:

The number is 23
The number is 5
The number is 2
...
The number is 43
The number is 6

我似乎无法弄清楚为什么我没有得到那个输出,当我不包括范围时,我得到一个类型错误

4 个答案:

答案 0 :(得分:2)

我会使用format

for num in list_k:
    print('The number is {}'.format(num))

现有代码的问题在于,如果您使用的是range(len(list_k)),那么您正在迭代索引,因此您需要使用list_k[number]

for number in range((len(list_k)):
    the_string="The number is " + str(list_k[number])
    print the_string

答案 1 :(得分:1)

最简单的方法是:

list_k = [23,5,2,5,76,34,32,12,43,6]
for number in list_k:
    the_string="The number is " + str(number)
    print the_string

直接遍历列表。

答案 2 :(得分:0)

代码中的错误是range((len(list_k))是从0到len(List_k) - 1的列表,因此num会对值0, 1, 2, 3, ..., len(list_k) -1进行交互,而不是list_k的元素。 {1}}按预期

答案 3 :(得分:0)

这应该有效:

for number in range(len(list_k)):
    print "the number is %d" % number