добавить строку в каждый элемент списка Python - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть список ключей Python из словаря;list(dict.keys()).

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

Я хотел бы добавить строку к каждому элементу в list = ['South', 'North'], например:

my_string = 'to_'

В конце Iхочу иметь list = ['to_South', 'to_North']

Есть ли способ, который я мог бы использовать для этого?

что-то вроде:

list.add_beginning_of_each_element('to_')

Ответы [ 3 ]

0 голосов
/ 05 декабря 2018

dict.keys() не возвращает действительные ключи, оно просто возвращает представление (= копию) ключей.

Если вы хотите напечатать измененную версию ключей:

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

Если вы хотите изменить фактические ключи:

d = {'to_' + key: value for key, value in d.items()}
0 голосов
/ 05 декабря 2018

Или map:

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

Там есть add_prefix в pandas, поэтому, если у вас есть фрейм данных pandas, вы можете просто использовать add_prefix для добавления в столбцы, напримерсоздания кадра данных из списка и размещения его в виде столбцов:

>>> import pandas as pd
>>> pd.DataFrame(columns=['South', 'North']).add_prefix('to_').columns.tolist()
['to_South', 'to_North']
0 голосов
/ 05 декабря 2018

Используйте список понимания :

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...