這是我的詞典格式:
quest_attr = {
"questions": [
{
"Tags": [
{
"tagname": ""。
}
],
"Title": "",
"作者": [
{
"name": ""。
}
],
"Answers": [
{
"ans": ""。
}
],
"related_Questions": [
{
"quest": ""。
}
]
}
]
}
我想添加"Tags"的串列,這樣結果將是:
"tasks":[
{
"標簽": [
{"tagname":"#Education"}, {"tagname":"#Social"}.
],
剩下的欄位...
}
剩下的欄位可以假設為空。我想把多個問題添加到主"問題"串列中。
我正在使用這段代碼,但他的結果并不像預期的那樣。
ind=0
size=len(tags)
while ind<size:
quest_attr["questions"].append({["Tags"].append({"ta?ame":tags[ind]})})
ind=ind 1。
而如果我維護一個變數來回圈瀏覽問題串列,就像:
quest_attr["questions"][ind]["Tags"].append({"tagname":tags[ind
它給出了一個錯誤,即索引超出了范圍。我應該怎么做?
uj5u.com熱心網友回復:
看來,索引變數ind的目的是只在標簽串列中進行迭代。按照你的append結構,你的回圈將試圖將下一個標簽附加到問題串列中的下一個問題,而不是將其余的標簽添加到同一個問題中。
如果您要向多個問題添加相同的集合,您需要分別回圈瀏覽問題串列,同時將您的附錄陳述句嵌套到另一個回圈中的標簽。另一方面,如果你只想針對一個問題,只需使用索引號,在本例中為[0]。
類似這樣的方法也許效果更好,但更多的背景關系會有幫助:
for question in quest_attr["questions"] 。
for tag in tags。
question["Tags"].append({"tagname":tag})
uj5u.com熱心網友回復:
請不要像你的代碼那樣用dict和list搞得一團糟。 這里我推薦一個更簡單的部署。
quest_attr = {
'questions': {
"Tags":[],
"Title":"",
"作者":[],
"Answers":[],
"related_Questions":[].
}
}
標簽 = [ {"tagname":"#Education"}, {"tagname":"#Social"} ]
quest_attr["questions"]['Tags'] = tags
print(quest_attr)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/311646.html
標籤:
上一篇:如何在discord.py命令中把秒轉換為分鐘或小時的cooldown錯誤
下一篇:如何在Python中改變字典內部
