簡體   English   中英

顯示列表中的某些項目

[英]Displaying certain items in lists

我正在嘗試用各自的主題創建一組問題,然后我想問用戶他們想要學習哪些問題。 根據他們的反應我然后想要顯示那些問題。 (例如,如果他們以“數學”回答,我想要顯示所有關於“數學”主題的問題)

到目前為止我有這個代碼;

from collections import *

question = []
topic = []

t = 4

while t > 0:
    x = input("what is your question?")
    y = input("what is the topic?")
    question.append(x)
    topic.append(y)
    data = defaultdict(list)
    for topic, question in zip(topic, question):
        data[topic].append(question)

    t -= 1

z = input("what topic would you like to study?")
print(data[z])   

它在第一次迭代時工作正常但是當我在第二次迭代中輸入值時會發生此錯誤;

回溯(最近一次調用最后一次):文件“C:/Users/Sam/PycharmProjects/ComputingProject/lists.py”,第11行,在question.append(x)AttributeError:'str'對象沒有屬性'append'

為什么它不能第二次工作?

zip創建對。 在您的情況下,您應該使用dict,從主題映射到問題列表。

 data = defaultdict(list)
 for topic, question in zip(topics, questions):
     data[topic].append(question)

注意: defaultdictdict的變體(你應該先學習),以避免檢查dict中是否已存在某個主題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM