我会使用字典而不是每个人的列表。例如 :
person1 = {
"name":"Bao Tang",
"date_of_birth":"2000/01/01",
"gender":"male"
}
您可以将字典直接存储到列表中:
persons = [
{
"name":"Bao Tang",
"date_of_birth":"2000/01/01",
"gender":"male"
},
{
"name":"Name 2",
"date_of_birth":"2001/02/03",
"gender":"female"
}
]
然后可以通过以下方式访问记录及其信息:
persons[index]["name"]
persons[index]["date_of_birth"]
persons[index]["gender"]
persons[0]["gender"] # based on the example list above, would return the value "male"
对于您的排序,您可以在函数中添加一个“key”参数,并使用该参数指定要对哪些信息进行排序:
def bubble_sort(arr, key):
n = len(arr)
for i in range(n - 1):
for j in range(0, n - i - 1):
if arr[j][key] > arr[j + 1][key]: # we compare keys of 2 records
arr[j], arr[j + 1] = arr[j + 1], arr[j] # we swap the whole record
# example call
bubble_sort(persons, "date_of_birth")
注意:即使它非常简单并且应该可以工作,但这都是未经测试的代码。谨慎使用!