Python-如何获取列表内的字典的值(即列表)?

时间:2019-12-16 19:50:12

标签: list dictionary

所以我有一个列表,其中包括字典。每个字典包含三个键值对。例如: questions = [{text:'今天怎么样?',答案:['good','bad','okay'],正确:['good','okay']}]] < / strong>。如您所见,一些值是一个列表。

我要打印这样的值: 好 坏 好的

我不太确定该怎么做。我试图这样做: “”“ all_answers = [d中的d个问题的d ['answers']] ”“”,它表示“ all_answers”是一个列表,但无法通过以下方式将其打印出来-循环

2 个答案:

答案 0 :(得分:0)

您有一个包含字典的列表,该字典包含值列表。以下是一些示例,说明了如何从此类数据结构中提取'answers'

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 )

之所以需要调用questions[0]是因为字典位于列表中。因此,我们将列表中的第一项称为dict。然后,['answers']从字典中抓取['good', 'bad', 'okay']

答案 1 :(得分:0)

>>> " ".join(questions[0]["answers"]) 'good bad okay' 总是只包含一项吗?如果是这样,您可以按如下所示通过索引访问它:

questions

如果for i in questions: if i.get("answers"): print(" ".join(i["answers"]) 的长度未知,那么您需要对其进行迭代(为此可能存在一个线性,但这有点难看):

{{1}}