我想在for循环中使用一个整数来创建一个字符串。是这样的:
for i in range(1, 11):
string = "string" + i
但是它会返回一个错误:
不支持'int'和'str'的操作数类型
连接字符串和整数的最佳方法是什么?
我想在for循环中使用一个整数来创建一个字符串。是这样的:
for i in range(1, 11):
string = "string" + i
但是它会返回一个错误:
不支持'int'和'str'的操作数类型
连接字符串和整数的最佳方法是什么?
当前回答
string = 'string%d' % (i,)
其他回答
您可以使用生成器来完成此操作!
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)) + ']'
string = 'string%d' % (i,)
for i in range(11):
string = "string{0}".format(i)
你做了(范围[1,10]):
由于括号表示列表的索引([3])或切片(a[3:5]), a SyntaxError,因为[1,10]无效,并且 由于范围(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新的字符串格式化方法的文档。它非常强大。
字符串和整数的连接很简单: 只使用
abhishek+str(2)
我做了另一件事。
我想在包含短语的列表中替换一个单词。
我想用一个新的单词替换这个字符串/单词,这个单词将是字符串和数字之间的连接,这个数字/数字将指示短语/子列表/列表的位置。
也就是说,我用一个字符串和后面的增量数字替换了一个字符串。
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