Python 提取元组列表中元组中dict的特定元素
我有一个元组列表,由字符串和字典组成,如下所示Python 提取元组列表中元组中dict的特定元素,python,list,dictionary,tuples,Python,List,Dictionary,Tuples,我有一个元组列表,由字符串和字典组成,如下所示 List = [ ("mike", { 'age': 27, 'favorite food': 'pizza', 'favorite drink': 'beer' }), ("jessie", { 'age': 35, 'favorite food': 'eggs', 'favorite drink': 'tea'
List = [
("mike", {
'age': 27,
'favorite food': 'pizza',
'favorite drink': 'beer'
}),
("jessie", {
'age': 35,
'favorite food': 'eggs',
'favorite drink': 'tea'
}),
("frank", {
'age': 14,
'favorite food': 'bread',
'favorite drink':'fanta'
})
]
我想循环浏览该列表并提取[最喜欢的饮料]中的数据,以便与其他饮料进行比较
假设我在列表中循环,检查用户是否喜欢啤酒,他得1分
到目前为止,我得到了:
for x in list:
if list[0][1] == 'beer':
beer-counter += 1
问题是我只访问字典,而不是使用我所拥有的内容访问字典的元素。事实上,
list[0][1]
是一本字典。但是如果它是一个字典,你可以使用[]
操作符来获取你想要的键list[0][1][“最喜欢的饮料”]
事实上,list[0][1]
是一个字典。但是如果它是一个字典,您可以使用[]
操作符获取所需的键列出[0][1]['favorite Drinks']
首先,示例数据中缺少结尾引号'
这是完成任务的正确方法之一
beer_counter = 0
for x in list:
if x[1]['favorite drink'] == 'beer':
beer_counter += 1
首先,示例数据中缺少结尾引号
“
这是完成任务的正确方法之一
beer_counter = 0
for x in list:
if x[1]['favorite drink'] == 'beer':
beer_counter += 1
您需要稍微调整一下循环,并使用
collections.Counter
,以便于理货:
lst = [("mike", {'age': 27, 'favorite food': 'pizza', 'favorite drink':'beer'}), ("jessie", {'age': 35, 'favorite food': 'eggs','favorite drink':'tea'}), ("frank", {'age': 14, 'favorite food':'bread', 'favorite drink':'fanta'})]
from collections import Counter
cnt = Counter()
for x in lst:
cnt[x[1]['favorite drink']] += 1
您需要稍微调整一下循环,并使用
collections.Counter
,以便于理货:
lst = [("mike", {'age': 27, 'favorite food': 'pizza', 'favorite drink':'beer'}), ("jessie", {'age': 35, 'favorite food': 'eggs','favorite drink':'tea'}), ("frank", {'age': 14, 'favorite food':'bread', 'favorite drink':'fanta'})]
from collections import Counter
cnt = Counter()
for x in lst:
cnt[x[1]['favorite drink']] += 1
哦,好吧,我想程序不能把它作为列表的额外索引,我不明白我是针对这个词的,[]运算符的结果是数据结构中该位置的任何结果。所以,list是一个list,list[0]是一个元组,list[1]是一个字典,等等。对于它们中的每一个,您都可以应用特定于该数据类型的操作。哦,好吧,我想程序会将其作为列表的额外索引,而不理解我的目标是词汇,[]运算符的结果是您在该位置的数据结构中拥有的任何内容。所以,list是一个list,list[0]是一个元组,list[1]是一个字典,等等。对于其中的每一个,您都可以应用特定于该数据类型的操作。谢谢大家,我通过组合您的所有答案解决了我的问题:)谢谢大家,我通过组合您的所有答案解决了我的问题:)