在系列中的每个数字前添加一个字符串

时间:2014-03-04 03:35:34

标签: python concatenation

我想转换 系列

tt = [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024]

进入

output = ['Cal 2015', 'Cal 2016', ...]

我知道在R中我可以写成:

paste('Cal',2015:2024,sep = " ")

然而在我尝试使用Python时

'Cal' + str(tt)

结果是

'Cal[2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024]'

有谁知道如何进行字符串连接?提前谢谢!

3 个答案:

答案 0 :(得分:2)

修改

如果必须使用for循环,则可以执行以下操作:

>>> tt = [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024]
>>> lst = []
>>> for t in tt:
...     lst.append("Cal {}".format(t))
...
>>> lst
['Cal 2015', 'Cal 2016', 'Cal 2017', 'Cal 2018', 'Cal 2019', 'Cal 2020', 'Cal 2021', 'Cal 2022', 'Cal 2023', 'Cal 2024']
>>>


使用list comprehensionstr.format

>>> tt = [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024]
>>> ["Cal {}".format(t) for t in tt]
['Cal 2015', 'Cal 2016', 'Cal 2017', 'Cal 2018', 'Cal 2019', 'Cal 2020', 'Cal 2021', 'Cal 2022', 'Cal 2023', 'Cal 2024']
>>>

答案 1 :(得分:1)

替代iCodez的解决方案。

>>>l=["Cal"+str(i) for i in tt]

答案 2 :(得分:1)

在不创建新列表的情况下使用for循环的另一种方法:

tt = [2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024]
for i,x in enumerate(tt):
    tt[i] = 'Cal ' + str(x)