Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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 3.5.1使用2个排序和运算符模块fn对多元元组进行排序_Python_List_Sorting_Python 3.x - Fatal编程技术网

python 3.5.1使用2个排序和运算符模块fn对多元元组进行排序

python 3.5.1使用2个排序和运算符模块fn对多元元组进行排序,python,list,sorting,python-3.x,Python,List,Sorting,Python 3.x,我正在学习3.5.1 Python和基本元组。我用一个额外的变量扩展了基本元组数组,我想按名称和等级对程序进行排序 我的代码是: l1 = [('lee', 'a', 5, 38), ('kim', 'b', 3, 28), ('jung', 'b', 10, 36)] sortedl1 = l1.sort(l1, key=itemgetter(0,1)) print ('sorted by name: ', sortedl1) 当我运行代码时,我得到一个编译器错误: sortedl1 =

我正在学习3.5.1 Python和基本元组。我用一个额外的变量扩展了基本元组数组,我想按名称和等级对程序进行排序

我的代码是:

l1 = [('lee', 'a', 5, 38), ('kim', 'b', 3, 28), ('jung', 'b', 10, 36)]

sortedl1 = l1.sort(l1, key=itemgetter(0,1))

print ('sorted by name: ', sortedl1)
当我运行代码时,我得到一个编译器错误:

sortedl1 = l1.sort(l1, key=itemgetter(0,1))
TypeError: Argument given by name ('key') and position (1)
任何帮助都将不胜感激。谢谢。

我想你是想用:

因为

  • 与排序后的不同,不返回,只对列表进行适当排序
  • 不接受位置参数

如果将
l1
排序(l1,key=itemgetter(0,1))
中删除,会发生什么情况?我似乎得到了“无”作为响应。。。。如果我正确阅读我的代码,并对其进行itemgetter测试(1),它至少应该会使用'a->b'@KevingGuan的排序复制l1,但OP试图打印
sortedl1
(函数的返回值)@Delgan,IMO,使用
itemgetter()
在这里没有问题。@Delgan:我认为你描述的问题不是问题。@falsetru:我知道,我的意思是关于你说的第二个问题:
list.sort
不接受位置参数。但是,
list.sort
也接受
key
参数。@KevinGuan,它应该是关键字参数,而不是位置参数。试试你自己:)
sortedl1 = sorted(l1, key=itemgetter(0,1))