python的lambda表达式实现两个list去掉重复元素
时间: 2023-09-15 21:24:20 浏览: 247
可以使用 lambda 表达式和 set() 函数来去除两个列表中的重复元素,示例代码如下:
```python
list1 = [1, 2, 3, 4, 4, 5]
list2 = [4, 5, 6, 7, 8]
result = list(filter(lambda x: x not in set(list2), list1)) + list(filter(lambda x: x not in set(list1), list2))
print(result)
```
输出结果为:
```
[1, 2, 3, 6, 7, 8]
```
这个代码的逻辑是,先使用 set() 函数将 list2 转换为集合,然后使用 filter() 函数和 lambda 表达式过滤掉 list1 中已经存在于集合中的元素,再将结果与同样经过过滤的 list2 相加,得到最终结果。
相关问题
python的lambda表达式实现二维列表去掉重复元素
可以使用lambda表达式和set来实现二维列表去掉重复元素,具体代码如下:
```python
lst = [[1, 2], [2, 3], [1, 2], [4, 5], [2, 3]]
new_lst = list(set(map(lambda x: tuple(x), lst)))
new_lst = list(map(lambda x: list(x), new_lst))
print(new_lst) # [[1, 2], [4, 5], [2, 3]]
```
其中,`map(lambda x: tuple(x), lst)` 将二维列表中的每个元素转换为tuple类型,`set`会自动去重,最后再将tuple转换为list即可。
python lambda 表达式
Python中的lambda表达式是一种匿名函数,可以在不定义函数名称的情况下快速创建一个函数对象。它的语法如下:
```python
lambda arguments: expression
```
其中,arguments表示函数的参数列表,expression表示函数体中的表达式,lambda表达式的返回值就是这个表达式的值。
例如,以下代码定义了一个lambda表达式,用于计算两个数的和:
```python
sum = lambda x, y: x + y
print(sum(1, 2)) # 输出 3
```
lambda表达式通常用于需要传递函数对象的场合,例如:
```python
list_data = [1, 2, 3, 4, 5]
# 对列表进行排序,按照元素的绝对值大小排序
sorted_data = sorted(list_data, key=lambda x: abs(x))
print(sorted_data) # 输出 [1, 2, 3, 4, 5]
```
在这个例子中,sorted函数的key参数需要传入一个函数对象,该函数用于定义排序规则。通过lambda表达式可以快速创建一个符合要求的函数对象。
阅读全文