Python 排列由不同部分划分为4个部分的字符串列表?
我有一个由字符串组成的列表,所有字符串都遵循相同的格式“Name%Department%Age” 我想按年龄、姓名、部门顺序排列Python 排列由不同部分划分为4个部分的字符串列表?,python,Python,我有一个由字符串组成的列表,所有字符串都遵循相同的格式“Name%Department%Age” 我想按年龄、姓名、部门顺序排列 alist = ['John%Maths%30', 'Sarah%English%50', 'John%English%30', 'John%English%31', 'George%Maths%30'] 排序后将输出: ['Sarah%English%50, 'John%English%31', 'George%Maths%30', 'John%English%
alist = ['John%Maths%30', 'Sarah%English%50', 'John%English%30', 'John%English%31', 'George%Maths%30']
排序后将输出:
['Sarah%English%50, 'John%English%31', 'George%Maths%30', 'John%English%30, 'John%Maths%30']
我找到的最接近我想要的是以下内容(在这里找到:)
然而,这只是按字母顺序对我的输入布局进行排序
感谢您的帮助
谢谢。你走对了方向 我个人:
- 首先使用
将字符串切碎为其组成部分李>string.split()
- 然后,将使排序键生成反映所需排序顺序的元组
def key(name_dept_age):
name, dept, age = name_dept_age.split('%')
return -int(age), name, dept
alist = ['John%Maths%30', 'Sarah%English%50', 'John%English%30', 'John%English%31', 'George%Maths%30']
print(sorted(alist, key=key))
你在正确的轨道上 我个人:
- 首先使用
将字符串切碎为其组成部分李>string.split()
- 然后,将使排序键生成反映所需排序顺序的元组
def key(name_dept_age):
name, dept, age = name_dept_age.split('%')
return -int(age), name, dept
alist = ['John%Maths%30', 'Sarah%English%50', 'John%English%30', 'John%English%31', 'George%Maths%30']
print(sorted(alist, key=key))
在每个项目上使用
名称、部门、年龄=项目。拆分(“%”)
把他们写下来{'name':name,'department':department,'age':age}
然后使用此代码对它们进行排序
sorted_items=multikeysort(items,['-age',name',department'])
尝试一下这个函数,你会发现它在你编程生涯中的一些情况下都会派上用场。在每个项目上使用
名称、部门、年龄=项。拆分(“%”)
把他们写下来{'name':name,'department':department,'age':age}
然后使用此代码对它们进行排序
sorted_items=multikeysort(items,['-age',name',department'])
尝试一下这个multikeysort
函数,你会发现它在你编程生涯中的一些情况下会派上用场