List Python—如何获取列表中字典的值(即列表)?

List Python—如何获取列表中字典的值(即列表)?,list,dictionary,List,Dictionary,所以我有一个清单,包括字典。每个字典包含三个键值对。例如:问题=[{text:'今天好吗?',答案:['good','bad','oke',],正确:['good','oke']}]。如您所见,有些值是一个列表 我想打印如下值: 好 坏的 好的 我也不知道该怎么做。我试着这样做: “all_answers=[d['answers']表示问题中的d]”,它说“all_answers”是一个列表,但用for循环打印出来是不起作用的。您有一个包含值列表的字典列表。以下是如何从这种类型的数据结构中提取“

所以我有一个清单,包括字典。每个字典包含三个键值对。例如:问题=[{text:'今天好吗?',答案:['good','bad','oke',],正确:['good','oke']}]。如您所见,有些值是一个列表

我想打印如下值: 好 坏的 好的

我也不知道该怎么做。我试着这样做:
all_answers=[d['answers']表示问题中的d]”,它说“all_answers”是一个列表,但用for循环打印出来是不起作用的。

您有一个包含值列表的字典列表。以下是如何从这种类型的数据结构中提取
“答案”
的几个示例:

questions = [ { 'text': 'How are you today?', 'answers': ['good', 'bad', 'okay'], 'correct': ['good', 'okay']}]

# show as a list
answer_list = questions[0][ 'answers' ]
print( answer_list )

# show as a single string joined by a space between words
answer_list = questions[0][ 'answers' ]
joined_answer_string = " ".join( answer_list )
print( joined_answer_string )

# loop through the answers and print them out
answer_list = questions[0][ 'answers' ]
for answer in answer_list:
    print( answer )

您需要调用
问题[0]
的原因是因为dict位于列表中。因此我们调用列表中的第一项,它给出一个dict。然后,
['answers']
从dict中获取
['good','bad','ok']

问题是否总是只包含一项?如果是这样,您可以通过以下方式通过索引访问它:

>>> " ".join(questions[0]["answers"])
'good bad okay'
如果
questions
的长度未知,则需要对其进行迭代(可能只有一行代码,但这会有点难看):


你在用哪种语言?我在用python
for i in questions:
    if i.get("answers"):
        print(" ".join(i["answers"])