我有一個創建書店資料庫的程式,并且我使用 CSV 來存盤我的資料,通過使用嵌套串列將每個串列作為特定書籍的條目。欄位是 ["Book ID","Title","Genre","Author","Stock"],并且在對資料進行制表的函式中(使用制表模塊),我想提供對資料進行排序的選項按字母順序使用每個條目的第二個元素(“名稱”)。
這是我當前的功能:-
def admin_showall():
print("----------------------------------------\n")
with open("Book_List.csv","r ") as f:
all_data = csv.reader(f,delimiter=",")
next(all_data)
print("[All Books]\n")
fields = ["Book ID","Title","Genre","Author","Stock"]
print(tabulate(all_data,fields))
print("\nSuccessfully displayed!")
print("\nFilters to apply:")
print(" [1] Sort By Name\n [2] Sort by Genre\n [3] Sort by Author\n [4] Sort by Stock")
ans = input("Enter your choice: ")
if ans == "1":
它不完整,因為我不知道如何對資料進行排序。任何人都可以提出任何建議嗎?
uj5u.com熱心網友回復:
這很容易
a = [[0, 'Beta', 3], [1, 'Alpha', 11], [7, 'Gamma', 5]]
b = sorted(a, key=lambda x: x[1])
print(b)
# [[1, 'Alpha', 11], [0, 'Beta', 3], [7, 'Gamma', 5]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/510504.html
上一篇:用鍵從字典中提取多個資料的最大值
