【发布时间】:2023-03-14 09:17:01
【问题描述】:
我有一本字典:
bank_accts={accno:{"Name":"<str>","Balance":<num>}, repeat}.
我需要运行一个函数,用户可以通过按帐号 (accno)、姓名或余额排序来查看所有帐户。
我有一个 if、elif、else 语句,并且我的 sort by accno 工作正常。我似乎无法按名称或余额进行排序。我看过一些复杂的代码,但无法让它按照我需要的方式工作。所以我决定尝试将所有“名称”值放入一个列表中,然后我可以对其进行排序;然而,问题是每个值都被放入一个单独的列表中,每个字符都是分开的。
非常感谢任何帮助。我很新,几周后我就在新兵训练营学习 python。讲师更像是谷歌的答案,所以我正在努力学习。谢谢!
#This function will show all the bank accounts
def view_all_accts():
sort=input("How would you like to sort? Please choose by account, name, or balance. ")
if sort.lower() == "account":
for acct in sorted(bank_acct.keys()):
print("Account: %s" %(acct))
for key in bank_acct[acct]:
print(key +":"+str(bank_acct[acct][key]))
elif sort.lower() == "name":
for acct in bank_acct.keys():
name=bank_acct[acct]["Name"]
#gives every value of "Name"
print(name)
#will make every value into own list with each char separated
temp=list(name)
print(temp)
#elif sort.lower()=="balance":
else:
print("Please choose account, name, or balance!")
【问题讨论】:
标签: python list sorting python-3.x dictionary