Python String和Integer连接
这个问题在这里已有答案:
在Python中用字符串和整数创建一个字符串[复制] 6个答案
我想在for循环中使用附加到它的整数创建字符串。 像这样:
for i in range(1,11):
string="string"+i
但它返回一个错误:
TypeError: unsupported operand type(s) for +: 'int' and 'str'
连接String和Integer的最佳方法是什么?
9个解决方案
254 votes
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']
YOU answered 2019-02-08T14:36:26Z
191 votes
注意:
此答案(反引号)中使用的方法在Python 2的更高版本中已弃用,并在Python 3中删除。请改用string0, string1 ..... string10函数。
您可以使用 :
string = 'string'
for i in range(11):
string +=`i`
print string
它将打印string0, string1 ..... string10。
要获得string0, string1 ..... string10,您可以将其用作@YOU建议
>>> string = "string"
>>> [string+`i` for i in range(11)]
根据Python3更新
您可以使用 :
string = 'string'
for i in range(11):
string +=str(i)
print string
它将打印string0, string1 ..... string10。
要获得string0, string1 ..... string10,您可以将其用作@YOU建议
>>> string = "string"
>>> [string+str(i) for i in range(11)]
Anirban Nag 'tintinmj' answered 2019-02-08T14:35:58Z
33 votes
string = 'string%d' % (i,)
Ignacio Vazquez-Abrams answered 2019-02-08T14:36:48Z
32 votes
for i in range[1,10]:
string = "string" + str(i)
str(i)函数将整数转换为字符串。
Rizwan Kassim answered 2019-02-08T14:37:15Z
18 votes
for i in range(11):
string = "string{0}".format(i)
你做了什么(a[3])
一个TypeError,因为括号表示列表的索引(a[3])或切片(a[3:5]),
自string = "string" + i以来的SyntaxError无效,和
string = "string" + i自[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的新字符串格式化方法的文档,它非常强大。
Tim Pietzcker answered 2019-02-08T14:38:19Z
4 votes
你可以使用发电机来做到这一点!
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))+']'
1 votes
如果我们想要输出像range()那么我们可以使用map function和join字符串的方法。
>>> 'string'+"".join(map(str,xrange(10)))
'string0123456789'
如果我们想要字符串值List,那么使用range()方法。
>>> ['string'+i for i in map(str,xrange(10))]
['string0', 'string1', 'string2', 'string3', 'string4', 'string5', 'string6', 'string7', 'string8', 'string9']
注意:
对于Python 2.x,请使用range()
用于Python 3.x的range()
Vivek Sable answered 2019-02-08T14:39:41Z
1 votes
我做了别的事。我想替换包含短语的列表中的单词。我想用一个新单词替换该字符串/单词,该单词将是字符串和数字之间的连接,该数字/数字将指示短语/子列表/列表列表的位置。
也就是说,我用一个字符串和一个跟随它的增量数字替换了一个字符串。
myoldlist_1=[[' myoldword'],[''],['tttt myoldword'],['jjjj ddmyoldwordd']]
No_ofposition=[]
mynewlist_2=[]
for i in xrange(0,4,1):
mynewlist_2.append([x.replace('myoldword', "%s" % i+"_mynewword") for x in myoldlist_1[i]])
if len(mynewlist_2[i])>0:
No_ofposition.append(i)
mynewlist_2
No_ofposition
Elias EstatisticsEU answered 2019-02-08T14:40:18Z
-5 votes
字符串和整数的串联很简单:只是用
abhishek+str(2)
Hiro answered 2019-02-08T14:40:47Z