У меня есть словарь d = {1:-0.3246, 2:-0.9185, 3:-3985, ...}
.
Как извлечь все значения d
в список l
?
У меня есть словарь d = {1:-0.3246, 2:-0.9185, 3:-3985, ...}
.
Как извлечь все значения d
в список l
?
Если вам нужны только словарные клавиши 1
, 2
и 3
, используйте: your_dict.keys()
.
Если вам нужны только словарные значения -0.3246
, -0.9185
и -3985
, используйте: your_dict.values()
.
Если вы хотите, чтобы оба ключа и значения использовали: your_dict.items()
, который возвращает список кортежей [(key1, value1), (key2, value2), ...]
.
Используйте values()
>>> d = {1:-0.3246, 2:-0.9185, 3:-3985}
>>> d.values()
<<< [-0.3246, -0.9185, -3985]
Если вы хотите все значения, используйте это:
dict_name_goes_here.values()
Если вы хотите все ключи, используйте это:
dict_name_goes_here.keys()
ЕСЛИ вы хотите все элементы (оба ключа и значения), я бы использовал это:
dict_name_goes_here.items()
Вызовите метод values()
на dict.
Если вы хотите все значения, используйте это:
dict_name_goes_here.values()
d = <dict>
values = d.values()
Чтобы увидеть ключи:
for key in d.keys():
print(key)
Чтобы получить значения, на которые ссылается каждый ключ:
for key in d.keys():
print(d[key])
Добавить в список:
for key in d.keys():
mylist.append(d[key])
Pythonic duck-typing должно в принципе определять, что может сделать объект, т.е. его свойства и методы. Изучая объект словаря, можно попытаться угадать, что у него есть хотя бы одно из следующего: методы dict.keys()
или dict.values()
. Вы должны попытаться использовать этот подход для будущей работы с языками программирования, проверка типов которых происходит во время выполнения, особенно с характером утиной печати.
Для вложенных диктов, списков диктов и диктов перечисленных диктов... вы можете использовать
def get_all_values(d):
if isinstance(d, dict):
for v in d.values():
yield from get_all_values(v)
elif isinstance(d, list):
for v in d:
yield from get_all_values(v)
else:
yield d
Пример:
d = {'a': 1, 'b': {'c': 2, 'd': [3, 4]}, 'e': [{'f': 5}, {'g': 6}]}
list(get_all_values(d)) # returns [1, 2, 3, 4, 5, 6]
PS: я люблю yield
. ;-)
dictionary_name={key1:value1,key2:value2,key3:value3}
dictionary_name.values()