Как использовать понимание, чтобы составить список значений из словаря в python - PullRequest
0 голосов
/ 25 января 2020
{'AAPL': (175.96, 'Apple Inc'),
 'GOOGL': (0.00475, 'Alphabet Inc'),
 'TVIX': (0.0045, 'Credit Suisse AG')}

Как извлечь список из: Apple In, Alphabet Inc и Credit Suisse AG

Ответы [ 3 ]

4 голосов
/ 25 января 2020

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

print([i[1] for i in yourdictionary.values()])

Вывод:

['Apple Inc', 'Alphabet Inc', 'Credit Suisse AG']

PS Измените yourdictionary на фактическое имя вашего словаря.

3 голосов
/ 25 января 2020
l={'AAPL': (175.96, 'Apple Inc'), 'GOOGL': (0.00475, 'Alphabet Inc'),
'TVIX': (0.0045, 'Credit Suisse AG')} 
out=[]  
for k,v in l.items():
     make_list=list(v)
     out.append(make_list[1])
print(out)

Я надеюсь, что это сработает для вас

1 голос
/ 25 января 2020

Можно также использовать распаковку кортежей, чтобы выбрать второй элемент из каждого кортежа:

>>> d = {'AAPL': (175.96, 'Apple Inc'),
...  'GOOGL': (0.00475, 'Alphabet Inc'),
...  'TVIX': (0.0045, 'Credit Suisse AG')}
>>> [y for _, y in d.values()]
['Apple Inc', 'Alphabet Inc', 'Credit Suisse AG']

Или даже функциональный подход с использованием operator.itemgetter() и map():

>>> from operator import itemgetter
>>> list(map(itemgetter(1), d.values()))
['Apple Inc', 'Alphabet Inc', 'Credit Suisse AG']
...