Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 排列由不同部分划分为4个部分的字符串列表?_Python - Fatal编程技术网

Python 排列由不同部分划分为4个部分的字符串列表?

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%

我有一个由字符串组成的列表,所有字符串都遵循相同的格式“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%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
函数,你会发现它在你编程生涯中的一些情况下会派上用场