假设我有一个:
dict = {"Main": ["Tammy","Elisha","Julius"],
"Elisha": ["Kenneth"]
}
上下文就像一个队列系统。 Main 是普通队列。而“Elisha:[Kenneth]”就像一个切线队列。您可以想象,当 Elisha 决定将他的朋友 Kenneth 带入队列时,每个人都在正常排队等候 MacDonald。
我如何将 "Kenneth" 附加到 "Main":"Elisha" 以便在我打印 dict['Main'] 时它会返回以下预期输出:
预期输出:[Tammy, Elisha, Kenneth, Julius ]
如果以利沙决定引入另一个朋友,“以利沙”:[“妮可”]。那么预期的输出将是:
预期输出:[ Tammy, Elisha, Kenneth, Nicole, Julius ]
我尝试在谷歌上搜索 append,但是 append 对字典不起作用,而只能在列表中使用。
我试过了:
dict['Main'].value("Elisha").append("Kenneth")
但它返回了错误。
答案 0 :(得分:0)
您需要为您的案例使用 coef<-ldply(S_models, coef)
:
extend
输出:
dic = {"Main":["Tammy","Elisha","Julius"],
"Elisha": ["Kenneth", "Nicole"]
}
dic["Main"].extend(dic["Elisha"])
print(dic["Main"])
另外,避免对对象名称使用关键字 ['Tammy', 'Elisha', 'Julius', 'Kenneth', 'Nicole']
以避免影响构建行为。
更新:
要在特定的 dict
处插入,您可以先使用 index
方法获取要插入的索引,然后使用切片插入新列表:
index()
答案 1 :(得分:0)
可以递归打印队列 工作原理:
Main
队列中的第一个人开始d = {"Main":["Tammy","Elisha","Julius"],
"Elisha": ["Kenneth"]
}
def get_flattened_queue(data, key, flattened_queue):
members = data[key]
for each_member in members:
flattened_queue.append(each_member)
if each_member in data.keys():
get_flattened_queue(data, each_member, flattened_queue)
return flattened_queue
flattened_queue = []
get_flattened_queue(d, 'Main', flattened_queue)
print(flattened_queue)
['Tammy', 'Elisha', 'Kenneth', 'Julius']
现在假设 Elisa
带来 Nicole
d = {"Main":["Tammy","Elisha","Julius"],
"Elisha": ["Kenneth"]
}
def get_flattened_queue(data, key, flattened_queue):
members = data[key]
for each_member in members:
flattened_queue.append(each_member)
if each_member in data.keys():
get_flattened_queue(data, each_member, flattened_queue)
return flattened_queue
# Here she brings Nicole
d['Elisha'].append('Nicole')
#{"Main":["Tammy","Elisha","Julius"],
# "Elisha": ["Kenneth", "Nicole"]
# }
flattened_queue = []
get_flattened_queue(d, 'Main', flattened_queue)
print(flattened_queue)
['Tammy', 'Elisha', 'Kenneth', 'Nicole', 'Julius']
d = {"Main":["Tammy","Elisha","Julius"],
"Elisha": ["Kenneth"]
}
def get_flattened_queue(data, key, flattened_queue):
members = data[key]
for each_member in members:
flattened_queue.append(each_member)
if each_member in data.keys():
get_flattened_queue(data, each_member, flattened_queue)
return flattened_queue
# Here she brings Nicole
d['Elisha'].append('Nicole')
#{"Main":["Tammy","Elisha","Julius"],
# "Elisha": ["Kenneth", "Nicole"]
# }
# Nicole brings Epsi95
d['Nicole'] = ['Epsi95']
flattened_queue = []
get_flattened_queue(d, 'Main', flattened_queue)
print(flattened_queue)
{'Main': ['Tammy', 'Elisha', 'Julius'],
'Elisha': ['Kenneth', 'Nicole'],
'Nicole': ['Epsi95']}
['Tammy', 'Elisha', 'Kenneth', 'Nicole', 'Epsi95', 'Julius']