Python Добавить список диктов

1

У меня есть этот список:

[('1', '1')]

и я хочу добавить список с объектом dict, чтобы выглядеть так:

[('All', 'All'), ('1', '1')]

Я пытаюсь:

myList[:0] = dict({'All': 'All'})

Но это дает мне:

['All', ('1', '1')]

Что я делаю неправильно?

  • 2
    Ваш ожидаемый вывод не включает словарь .... Вы хотите, чтобы (key, value) кортеж вашего dict был вставлен в список?
  • 0
    во всяком случае, dict({'All': 'All'}) является избыточным.
Показать ещё 1 комментарий
Теги:

5 ответов

1
Лучший ответ

Используйте слова items() словаря, чтобы получить ключ, значение и добавить их в список:

lst = [('1', '1')]
lst = list({'All': 'All'}.items()) + lst

print(lst)
# [('All', 'All'), ('1', '1')]

Примечание: {'All': 'All'} - это словарь, поэтому dict({'All': 'All'}) в вашем коде не нужно.

1

Когда вы используете dict в качестве итерации, вы перебираете только свои ключи. Если вы хотите итерации по своим парам ключ/значение, вам нужно использовать представление dict.items.

l = [('1', '1')]
d = dict({'All': 'All'})
print([*d.items(), *l])
# [('All', 'All'), ('1', '1')]

Синтаксис * доступен в Python 3.5 и более поздних версиях.

l[:0] = d.items()

также работает

0

Вы можете ссылаться на приведенную ниже функцию для добавления любого dict в качестве элементов списка в уже существующий список. Вам просто нужно отправить новый dict, который вы хотите добавить со старым списком, уже присутствующим с вами.

    def append_dict_to_list(new_dict,old_list):
        list_to_append = list(new_dict.items())
        new_list = list_to_append + old_list 
        return new_list 

    print (append_dict_to_list({'All':'All'},[('1', '1')]))

PS: Если вы хотите, чтобы новый dict был добавлен после существующего списка, просто измените последовательность в коде как new_list = old_list + list_to_append

0

Для ответа, подобного [('All', 'All'), ('1', '1')], выполните:

myList = [('1', '1')]
myList = [('All', 'All')] + myList

Для получения дополнительной информации обратитесь к этому.

0

Вы также можете посмотреть ниже.

>>> myList = [('1', '1')]
>>>
>>> myList[:0] = dict({'All': 'All'}).items()
>>> myList
[('All', 'All'), ('1', '1')]
>>>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню