![](/img/trans.png)
[英]Sort a list of dicts by multiple items AND different reverse values for each item
[英]Reverse list item values
我想反转列表中的所有值。 我的列表由0、1、2和3组成(例如[0,2,2,3,1,3,2]),我想反转项目的值(将所有0更改为3,将所有1对,所有2对1和所有3对0 => [3,1,1,0,2,0,1])。
在python中有可能吗?
我试图使用列表推导没有成功。
li=[0,2,2,3,1,3,2]
print(list(reversed(li)))
我拥有的是:[0,2,2,3,1,3,2]我想要的是:[3,1,1,0,2,0,1]
使用map
并减去列表l
的最大值的每个值:
>>> l = [0,2,2,3,1,3,2]
>>> list(map(max(l).__sub__, l))
[3, 1, 1, 0, 2, 0, 1]
>>>
或使用列表理解:
>>> [max(l) - i for i in l]
[3, 1, 1, 0, 2, 0, 1]
>>>
reversed
功能将反转列表的顺序 ,而不是列表本身的值。 您可以通过几种方法使用map
将功能应用于列表中的每个元素。 这是适用于您的特定示例的一种:
list(map(lambda x: abs(x-3), li)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.