我有一个数据库,我现在使用此功能组合
def ReadAndMerge():
library1=input("Enter 1st filename to read and merge:")
with open(library1, 'r') as library1names:
library1contents = library1names.read()
library2=input("Enter 2nd filename to read and merge:")
with open(library2, 'r') as library2names:
library2contents = library2names.read()
print(library1contents)
print(library2contents)
combined_contents = library1contents + library2contents # concatenate text
print(combined_contents)
return(combined_contents)
这两个数据库最初看起来像这样
Bud Abbott 51 92.3
Mary Boyd 52 91.4
Hillary Clinton 50 82.1
和这个
Don Adams 51 90.4
Jill Carney 53 76.3
Randy Newman 50 41.2
合并后,他们现在看起来像这样
Bud Abbott 51 92.3
Mary Boyd 52 91.4
Hillary Clinton 50 82.1
Don Adams 51 90.4
Jill Carney 53 76.3
Randy Newman 50 41.2
如果我想按姓氏对这个数据库进行排序,我该怎样做呢? 是否有像python一样内置的排序函数?这被认为是一个清单? 或者我是否必须使用另一个找到姓氏的函数然后按字母顺序排序
答案 0 :(得分:2)
使用sorted()
方法排序。但是你不能只对一个大字符串进行排序,你需要将数据放在列表或类似的东西中。像这样(未经测试):
def get_library_names(): # Better name of function
library1 = input("Enter 1st filename to read and merge:")
with open(library1, 'r') as library1names:
library1contents = library1names.readlines()
library2=input("Enter 2nd filename to read and merge:")
with open(library2, 'r') as library2names:
library2contents = library2names.readlines()
print(library1contents)
print(library2contents)
combined_contents = sorted(library1contents + library2contents)
print(combined_contents)
return(combined_contents)