对列表的每个元素执行两次操作

时间:2018-08-12 02:46:32

标签: list

我只想在一行中完成以下几行:

   list1 = [abs(x) for x in list1]
   list1 = list(map(lambda x:x-1, list1))

我尝试了

list1 = [abs(x) and x-1  for x in list1]

即使我不认为有这样的语法,但无论如何它还是行不通的。

2 个答案:

答案 0 :(得分:2)

and是Python中的逻辑运算符,在这种情况下不能使用。

为什么不尝试

[abs(x) - 1 for x in list1]

答案 1 :(得分:1)

list1 = list(map(lambda x: abs(x)-1,list1))

有趣的是,它比

list1 = [abs(x) - 1 for x in list1]

有人知道为什么吗?