在python中与str()一起使用“%s”并在for循环中使用

在python中与str()一起使用“%s”并在for循环中使用,python,Python,我在写这段代码 for n in filtered_list: for a in range(1,3): duplicate = str(filenameRegex.group(1) + "(" + n + ")" + filenameRegex.group(2)) 我一直在想有没有更简洁的方法来写这个?我指的是+n+部分。我在考虑%s=n之类的东西,但我不知道也不能反复尝试在这种情况下如何使用它。您可以这样尝试: duplica

我在写这段代码

for n in filtered_list:
    for a in range(1,3):
        duplicate = str(filenameRegex.group(1) + "(" + n + ")" + filenameRegex.group(2))
我一直在想有没有更简洁的方法来写这个?我指的是+n+部分。我在考虑%s=n之类的东西,但我不知道也不能反复尝试在这种情况下如何使用它。

您可以这样尝试:

duplicate = "%s(%s)%s"%(filenameRegex.group(1),n,filenameRegex.group(2))


在这种情况下,必须使用%d而不是%s,因为n是整数,而不是字符串

对于已筛选列表中的n: 对于范围1、3中的a: 重复=%s%d%s%filenameRegex.group1,n,filenameRegex.group2 不过,这是老式的格式。在Python 3中,您可以使用:

对于已筛选列表中的n: 对于范围1、3中的a: 重复=f{filenameRegex.group1}{n}{filenameRegex.group2} Python 3已经。。。
duplicate = "{0}({1}){2}".format(filenameRegex.group(1),n,filenameRegex.group(2))