Добавление словаря в новый список на основе значений в списке словарейPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Добавление словаря в новый список на основе значений в списке словарей

Сообщение Anonymous »

У меня есть список словарей с различными элементами, такими как «Идентификатор версии» и «Найденные сектора». Я пытаюсь написать программу для отображения словаря на основе выбора, который делает пользователь при выборе значений из вложенного набора элементов в списке словарей.
В идеале мне нужен пользователь чтобы иметь возможность выбрать ВЕРСИЮ, СЕКТОР и ВРЕМЯ, а затем программа должна заполнить список элементов, соответствующих выбранным критериям, прежде чем один из этих элементов будет выбран случайным образом и отображен пользователю.
from random import randint

selected_version = "Version 1"
selected_sector = "Sector One"
selected_time = "Daylight"
selected_item = None

item_one = {
"Version ID": ["v.1"],
"Name": "Item One",
"Sector Found": {"Sector 1": {"Daylight": 100}}
}

def item_locator(version, sector, time):
available_items = [],
time_items = [item_one]

if version == "Version 1":
if sector == "Sector One":
if time == "Daylight":
for i in time_items:
for k, v in i:
if k == "Daylight":
available_items.extend( * v)

item_choice = randint(0, 99)

return available_items.index(item_choice)

selected_item = item_locator(selected_version, selected_sector, selected_time)

print(selected_item)

Эта чрезвычайно упрощенная версия моего кода связана с проблемой, которая, как мне кажется, связана с тем, что ключ «Daylight» является частью вложенного словаря.
Я возвращаюсь
ValueError
20 if time == "Daylight":
21 for i in time_items:
---> 22 for k, v in i:
23 if k == "Daylight":
24 available_items.extend( * v)

ValueError: too many values to unpack (expected 2)


Подробнее здесь: https://stackoverflow.com/questions/790 ... -dictionar
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Python – добавление словаря в новый список на основе значений в списке словарей
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Python – добавление словаря в новый список на основе значений в списке словарей
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Добавление словаря в новый список на основе значений в списке словарей
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Добавление словаря в новый список на основе значений в списке словарей
    Anonymous » » в форуме Python
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Добавление словаря в новый список на основе значений в списке словарей
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»