我想在for循环中使用一个整数来创建一个字符串。是这样的:

for i in range(1, 11):
  string = "string" + i

但是它会返回一个错误:

不支持'int'和'str'的操作数类型

连接字符串和整数的最佳方法是什么?


当前回答

for i in range[1,10]: 
  string = "string" + str(i)

函数的作用是:将整数转换为字符串。

其他回答

for i in range (1,10):
    string="string"+str(i)

要获得string0,请输入string1 .....String10,你可以这样做

>>> ["string"+str(i) for i in range(11)]
['string0', 'string1', 'string2', 'string3', 'string4', 'string5', 'string6', 'string7', 'string8', 'string9', 'string10']

您可以使用生成器来完成此操作!

def sequence_generator(limit):
    """ A generator to create strings of pattern -> string1,string2..stringN """
    inc  = 0
    while inc < limit:
        yield 'string' + str(inc)
        inc += 1

# To generate a generator. Notice I have used () instead of []
a_generator  =  (s for s in sequence_generator(10))

# To generate a list
a_list  =  [s for s in sequence_generator(10)]

# To generate a string
a_string =  '['+ ", ".join(s for s in sequence_generator(10)) + ']'
for i in range[1,10]: 
  string = "string" + str(i)

函数的作用是:将整数转换为字符串。

string = 'string%d' % (i,)

注意:

此答案中使用的方法(反勾号)在Python 2的后续版本中已弃用,并在Python 3中被删除。请改用str()函数。


你可以使用:

string = 'string'
for i in range(11):
    string +=`i`
print string

它将输出string012345678910。

要获得string0,请输入string1 .....你可以使用你建议的字符串:

>>> string = "string"
>>> [string+`i` for i in range(11)]

对于Python 3

你可以使用:

string = 'string'
for i in range(11):
    string += str(i)
print string

它将输出string012345678910。

要获得string0,请输入string1 .....string10,你可以使用你建议的:

>>> string = "string"
>>> [string+str(i) for i in range(11)]