繁体   English   中英

反向清单项目值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM