如何在Python中将整数迭代附加到字符串中?

时间:2018-09-25 13:56:44

标签: python for-loop append

这是我的问题:

首先我迭代

for i in range(1,21):
    print (i)

然后我有一个变量 basename =“ Station”

我想要一个输出为Station_1.txt,Station_2.txt等的结果。

我设法将“ _”添加到变量基名中,例如

mylist1 = ("_")
s = (basename)
for item in mylist1:
    s += item

但是现在我有一个关于如何在变量基名之上获取迭代的问题,我可以像“ Station_,1,Station_,2”一样获得它本身,但是不在字符串本身内部。

对不起,这里是个初学者:)

5 个答案:

答案 0 :(得分:3)

您可以在一行中完成此操作!请尝试以下操作:

basename = "Station"
result = ["{}_{}.txt".format(basename, i) for i in range(1, 21)]
print(result)`

 >> ['Station_1.txt','Station_2.txt','Station_3.txt', 
     'Station_4.txt','Station_5.txt','Station_6.txt', 
     'Station_7.txt','Station_8.txt','Station_9.txt', 
     'Station_10.txt','Station_11.txt',Station_12.txt',
     'Station_13.txt','Station_14.txt','Station_15.txt',
     'Station_16.txt','Station_17.txt','Station_18.txt',
     'Station_19.txt','Station_20.txt']`

答案 1 :(得分:2)

您想要这样的东西吗?

basename = "Station"
for i in range(1, 21):
    value = basename + "_" + str(i) + ".txt"
    print(value)

输出:

Station_1.txt
Station_2.txt
Station_3.txt
Station_4.txt
Station_5.txt
Station_6.txt
Station_7.txt
Station_8.txt
Station_9.txt
Station_10.txt
Station_11.txt
Station_12.txt
Station_13.txt
Station_14.txt
Station_15.txt
Station_16.txt
Station_17.txt
Station_18.txt
Station_19.txt
Station_20.txt

答案 2 :(得分:2)

我会使用.format()。参见https://docs.python.org/3.3/library/stdtypes.html#str.format

例如:

base_string = 'Station'
for i in range(1,21):
    print('{}_{}.txt'.format(base_string, i))

答案 3 :(得分:1)

您可以使用字符串格式设置来消除对整数的担心

您仍然使用数字作为参数进行循环,并保持基本名称不变:

base = 'Station'
for i in range(1, 21):
    name = '{}_{}.txt'.format(base, i)
    print(name)  # or do whatever with 'name'

答案 4 :(得分:1)

如果可能的话,最好避免字符串连接。一种替代方法是,Python现在通过在前缀f之前支持格式字符串,可以用来解决您的问题,如下所示:

base_string = 'Station'

for i in range(1, 21):
    print(f'{base_string}_{i}.txt')    

这是在Python 3.6中添加的。零填充您的字符串也可能很有用,以确保正确排序字符串:

base_string = 'Station'

for i in range(1, 21):
    print(f'{base_string}_{i:02}.txt')

这会给你:

Station_01.txt
Station_02.txt
Station_03.txt
Station_04.txt
Station_05.txt
Station_06.txt
Station_07.txt
Station_08.txt
Station_09.txt
Station_10.txt
Station_11.txt
Station_12.txt
Station_13.txt
Station_14.txt
Station_15.txt
Station_16.txt
Station_17.txt
Station_18.txt
Station_19.txt
Station_20.txt