相关疑难解决方法(0)

如何使用列表推导从列表中删除重复项?

如何使用列表推导从列表中删除重复项?我有以下代码:

a = [1, 2, 3, 3, 5, 9, 6, 2, 8, 5, 2, 3, 5, 7, 3, 5, 8]
b = []
b = [item for item in a if item not in b]
Run Code Online (Sandbox Code Playgroud)

但它不起作用,只产生相同的列表.为什么它产生相同的清单?

python list-comprehension

9
推荐指数
3
解决办法
2万
查看次数

在Python中进行list/dict理解时是否可以访问当前对象?

试图想出一个单行程来实现以下(总结一个键的所有值):

>>> data = [('a',1),('b',3),('a',4),('c',9),('b',1),('d',3)]
>>> res = {}
>>> for tup in data:
...     res[tup[0]] = res.setdefault(tup[0],0) + tup[1]
... 
>>> res
{'a': 5, 'c': 9, 'b': 4, 'd': 3}
Run Code Online (Sandbox Code Playgroud)

单行版本,不使用任何导入,如itertools,集合等.

 { tup[0] : SELF_REFERENCE.setdefault(tup[0],0) + tup[1]  for tup in data }
Run Code Online (Sandbox Code Playgroud)

在Python中是否可以使用对当前正在理解的对象的引用?如果没有,有没有办法在单行中实现这一点而不使用任何导入,即使用基本列表/字典理解和内置函数.

python list-comprehension dictionary-comprehension

3
推荐指数
1
解决办法
633
查看次数