mic*_*ele 330 python string integer concatenation
我想在for循环中使用附加到它的整数创建字符串.像这样:
for i in range(1,11):
string="string"+i
Run Code Online (Sandbox Code Playgroud)
但它返回一个错误:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
Run Code Online (Sandbox Code Playgroud)
连接String和Integer的最佳方法是什么?
YOU*_*YOU 261
for i in range (1,10):
string="string"+str(i)
Run Code Online (Sandbox Code Playgroud)
要得到string0, string1 ..... string10,你可以这样做
>>> ["string"+str(i) for i in range(11)]
['string0', 'string1', 'string2', 'string3', 'string4', 'string5', 'string6', 'string7', 'string8', 'string9', 'string10']
Run Code Online (Sandbox Code Playgroud)
Ani*_*mj' 241
此答案(反引号)中使用的方法在Python 2的更高版本中已弃用,并在Python 3中删除.请改用此str()函数.
您可以使用 :
string = 'string'
for i in range(11):
string +=`i`
print string
Run Code Online (Sandbox Code Playgroud)
它会打印出来string012345678910.
为了让string0, string1 ..... string10你可以使用这个@YOU建议
>>> string = "string"
>>> [string+`i` for i in range(11)]
Run Code Online (Sandbox Code Playgroud)
您可以使用 :
string = 'string'
for i in range(11):
string +=str(i)
print string
Run Code Online (Sandbox Code Playgroud)
它会打印出来string012345678910.
为了让string0, string1 ..... string10你可以使用这个@YOU建议
>>> string = "string"
>>> [string+str(i) for i in range(11)]
Run Code Online (Sandbox Code Playgroud)
Riz*_*sim 34
for i in range[1,10]:
string = "string" + str(i)
Run Code Online (Sandbox Code Playgroud)
该str(i)函数将整数转换为字符串.
Ign*_*ams 33
string = 'string%d' % (i,)
Run Code Online (Sandbox Code Playgroud)
Tim*_*ker 18
for i in range(11):
string = "string{0}".format(i)
Run Code Online (Sandbox Code Playgroud)
你做了什么(range[1,10])
a[3])或slice(a[3:5]),[1,10]无效,和range(1,10)是[1, 2, 3, 4, 5, 6, 7, 8, 9],你似乎想要一个双重的一个错误[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]并且string = "string" + i是一个TypeError,因为您无法向字符串添加整数(与JavaScript不同).
查看Python的新字符串格式化方法的文档,它非常强大.
小智 5
您可以使用发电机来做到这一点!
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)) + ']'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
628708 次 |
| 最近记录: |