所以我有一个列表,其中包括字典。每个字典包含三个键值对。例如: questions = [{text:'今天怎么样?',答案:['good','bad','okay'],正确:['good','okay']}]] < / strong>。如您所见,一些值是一个列表。
我要打印这样的值: 好 坏 好的
我不太确定该怎么做。我试图这样做: “”“ all_answers = [d中的d个问题的d ['answers']] ”“”,它表示“ all_answers”是一个列表,但无法通过以下方式将其打印出来-循环
答案 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}}