首先按键然后按值对搁置文件进行排序。没有导入模块
Sorting a shelve file first by key then by value. No imported module
所以我正在用 CSV 文件中的信息创建一些 objects:
def ajouter_morceaux_csv(db,csv):
data_csv= read_data(csv)
for i in range(len(data_csv[0])):
titre = data_csv[0][i]
année = data_csv[1][i]
artistes = data_csv[2][i]
style= data_csv[3][i]
guitare = data_csv[4][i]
note = data_csv[5][i]
with shelve.open(db) as db_data:
del(db_data[str(data_csv[0][i])])
db_data[str(data_csv[0][i])]= Data_Song(titre,année,artistes,style,guitare,note=note)
然后我需要打印这个"database"。我需要打印它,首先按标题字母顺序排序,然后按 "note"
的值排序
我使用标题作为键名,这样可以更简单,但我仍然不知道如何按 object.
的价值注释对其进行排序
我是这样打印的:
def afficher_tout(db):
with shelve.open(db) as db_data:
klist = list(db_data.keys())
klist.sort()
print("Base de données musicales complète :")
print()
for key in klist:
print("Titre: " + str(db_data[key].titre))
print("Année: " + str(db_data[key].année))
print("Artistes: " + str(db_data[key].artistes))
print("Style: " + str(db_data[key].style))
print("Guitare: " + str(db_data[key].guitare))
print("note: " + str(db_data[key].note))
print()
除了搁置,我无法将任何模块导入该项目,os,sys
您可以为 .sort()
和 sorted()
提供按键功能。
klist = sorted(db_data.keys(), key=lambda k: (db_data[k].titre, db_data[k].note))
所以我正在用 CSV 文件中的信息创建一些 objects:
def ajouter_morceaux_csv(db,csv):
data_csv= read_data(csv)
for i in range(len(data_csv[0])):
titre = data_csv[0][i]
année = data_csv[1][i]
artistes = data_csv[2][i]
style= data_csv[3][i]
guitare = data_csv[4][i]
note = data_csv[5][i]
with shelve.open(db) as db_data:
del(db_data[str(data_csv[0][i])])
db_data[str(data_csv[0][i])]= Data_Song(titre,année,artistes,style,guitare,note=note)
然后我需要打印这个"database"。我需要打印它,首先按标题字母顺序排序,然后按 "note"
的值排序我使用标题作为键名,这样可以更简单,但我仍然不知道如何按 object.
的价值注释对其进行排序我是这样打印的:
def afficher_tout(db):
with shelve.open(db) as db_data:
klist = list(db_data.keys())
klist.sort()
print("Base de données musicales complète :")
print()
for key in klist:
print("Titre: " + str(db_data[key].titre))
print("Année: " + str(db_data[key].année))
print("Artistes: " + str(db_data[key].artistes))
print("Style: " + str(db_data[key].style))
print("Guitare: " + str(db_data[key].guitare))
print("note: " + str(db_data[key].note))
print()
除了搁置,我无法将任何模块导入该项目,os,sys
您可以为 .sort()
和 sorted()
提供按键功能。
klist = sorted(db_data.keys(), key=lambda k: (db_data[k].titre, db_data[k].note))