我有一个列表a
,其中包含行(也是列表),每个行有三个元素。我想根据列表b
中的值按升序排序。我尝试了以下方法:
a = [[1,2,3],['hi','foo','fi'],[7,8,9]]
print(a)
b = [0.3,3,0.6]
keydict = dict(zip(a,b))
a.sort(key=keydict.get)
但是我得到了一个错误:
TypeError: unhashable type: 'list'
与keydict = dict(zip(a,b))
一致。你知道吗
我希望得到这个:
a = [[1,2,3],[7,8,9],['hi','foo','fi']]
我能做些什么来纠正它?你知道吗
这里有一种方法使用
sorted
和key
来获得将对b
排序的索引,并使用它来使用列表理解对a
排序:使用
sorted
和自定义键的理解是解决方案:或使用
zip
:相关问题 更多 >
编程相关推荐