将字符串添加到python列表的每个元素

时间:2018-12-05 12:26:40

标签: python string list dictionary

我有一个通过python字典键组成的列表; list(dict.keys())

dict.keys()
dict_keys(['South', 'North'])

我想为list = ['South', 'North']中的每个元素添加一个字符串,例如:

my_string = 'to_'

最后我想拥有list = ['to_South', 'to_North']

我可以使用一种方法吗?

类似:

list.add_beginning_of_each_element('to_')

4 个答案:

答案 0 :(得分:5)

使用list comprehension

lst = ['South', 'North']
result = ['to_' + direction for direction in lst]

您也可以使用map

def add_to_beginning(s, start='to_'):
    return start + s

lst = ['South', 'North']

result = list(map(add_to_beginning, lst))
print(result)

答案 1 :(得分:2)

map

>>> l = ['South', 'North']
>>> list(map('to_'.__add__,l))
['to_South', 'to_North']
>>>

add_prefix中有一个pandas,因此,如果您有熊猫数据框,则可以使用add_prefix添加到列中,这是从列表中制作数据框的示例并将它们作为列:

>>> import pandas as pd
>>> pd.DataFrame(columns=['South', 'North']).add_prefix('to_').columns.tolist()
['to_South', 'to_North']

答案 2 :(得分:0)

dict.keys()不会返回实际的键,而只会返回键的视图(=副本)。

如果要打印密钥的修改版本:

print(['to_' + key for key in d.keys()])

如果您想更改实际按键:

d = {'to_' + key: value for key, value in d.items()}

答案 3 :(得分:0)

您可以使用lambda函数:

lst = ['South', 'North']
result = list(map(lambda x: 'to_' + x, lst))