我只是一个初学者所以请不要介意..
我正在寻找这个答案,如果得分列表中的得分高于60,那么应该说通过或者失败,我真的没有得到如何实现它
{'steve': [22, 55, 'fail'], 'saul': [59, 85, 'pass'], 'paul': [28, 59, 'fail'], 'chimpy': [5, 60, 'pass']}
我只是一个没有成功的代码
def construct_dictionary_from_lists(names_list, ages_list, scores_list):
dic = {}
agee = ages_list
sc = scores_list
name = names_list
for i in range(len(name)):
for a in range(len(agee)):
for s in range(len(sc)):
for x in range(len(sc)):
if x >= 60:
print('Pass')
else:
print('Fail')
dic[name[i]] = [agee[a], sc[s], sc[x]]
return dic
print(construct_dictionary_from_lists(["paul", "saul", "steve", "chimpy"],[28, 59, 22, 5],[59, 85, 55, 60]))
我低于OUTPUT
Fail
Fail
Fail
{'paul': [5, 60, 60], 'saul': [5, 60, 60], 'steve': [5, 60, 60], 'chimpy': [5, 60, 60]}
答案 0 :(得分:3)
试试这个:
def construct_dictionary_from_lists(names_list, ages_list, scores_list):
dic = {}
for name, age, score in zip(names_list, ages_list, scores_list):
res = 'Fail'
if score >= 60:
res = 'Pass'
dic[name] = [age, score, res]
return dic
print(construct_dictionary_from_lists(["paul", "saul", "steve", "chimpy"],[28, 59, 22, 5],[59, 85, 55, 60]))
答案 1 :(得分:2)
您可以使用zip
。
name_list, age_list, score_list = ["paul", "saul", "steve", "chimpy"], [28, 59, 22, 5], [59, 85, 55, 60]
out = {name: [age, score, 'pass' if score >= 60 else 'fail'] for name, age, score in zip(name_list, age_list, score_list)}
print(out)
# {'paul': [28, 59, 'fail'], 'saul': [59, 85, 'pass'], 'steve': [22, 55, 'fail'], 'chimpy': [5, 60, 'pass']}
答案 2 :(得分:1)
n = ["paul", "saul", "steve", "chimpy"]
n2 = [28, 59, 22, 5]
n3 = [59, 85, 55, 60]
d={}
for i in zip(*(n, n2, n3)):
if i[2] >=60:
d[i[0]] = [i[1], i[2], "Pass"]
else:
d[i[0]] = [i[1], i[2], "Fail"]
print d
<强>输出:强>
{'steve': [22, 55, 'Fail'], 'paul': [28, 59, 'Fail'], 'chimpy': [5, 60, 'Pass'], 'saul': [59, 85, 'Pass']}
答案 3 :(得分:1)
你的功能方法
name_list, age_list, score_list = ["paul", "saul", "steve", "chimpy"], [28,
59, 22, 5], [59, 85, 55, 60]
score_list = list(zip(name_list, age_list, score_list))
def construct_dictionary_from_lists(scores_list):
dict_result = {}
for item in score_list:
result = "pass" if item[2] > 60 else "fail"
dict_result[item[0]] = [item[1], item[2], result]
return dict_result
construct_dictionary_from_lists(score_dict)
答案 4 :(得分:-1)
如果所有列表的大小相同,则可以使用zip
创建字典:
for name,age,score in zip(name_list,age_list,score_list):
Add in the dictionary