题目来源:Leetcode–Flipping an Image
题目意思是对一个0-1组成的嵌套列表做对折并取反,
解题思路:我的理解是这个样子,对列表中的每个列表先做对称反转(a[len(a)-1-j]),然后再取反,由于列表元素除了0就是1,那么取反可以看成1-element,直接上代码:
class Solution:
def flipAndInvertImage(self, A):
"""
:type A: List[List[int]]
:rtype: List[List[int]]
"""
result = []
results = []
for i in A:
for j in range(0,len(i)):
result.append(1-i[len(i)-1-j])
results.append(result)
result = []
return results
但是,不能得意啊,看了一个很pythonic的写法,一行代码搞定了[2],用了生成器,
return [[1-i for i in row[::-1]] for row in A]
Ref:
[1] https://leetcode.com/problems/flipping-an-image/description/
[2] https://leetcode.com/problems/flipping-an-image/discuss/132026/Python-1-line