Gok*_*hna 6 python csv set python-2.7 python-3.x
我尝试使用set()
python的方法来查找List中的唯一元素.它可以正常删除所有重复项.但这是我的要求,我想获取使用set()
方法删除的元素.有人可以帮助我吗?
a=[1,2,3,1,4]
b=set(a)
Output:[1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
我的预期输出是[1]
.从set()
方法中删除的元素
您可以扩展 Set 类(拥有自己的 Set 类,例如 MySet)并覆盖此函数
def _update(self, iterable):
# The main loop for update() and the subclass __init__() methods.
data = self._data
# Use the fast update() method when a dictionary is available.
if isinstance(iterable, BaseSet):
data.update(iterable._data)
return
value = True
if type(iterable) in (list, tuple, xrange):
# Optimized: we know that __iter__() and next() can't
# raise TypeError, so we can move 'try:' out of the loop.
it = iter(iterable)
while True:
try:
for element in it:
data[element] = value
return
except TypeError:
transform = getattr(element, "__as_immutable__", None)
if transform is None:
raise # re-raise the TypeError exception we caught
data[transform()] = value
else:
# Safe: only catch TypeError where intended
for element in iterable:
try:
data[element] = value
except TypeError:
transform = getattr(element, "__as_immutable__", None)
if transform is None:
raise # re-raise the TypeError exception we caught
data[transform()] = value
Run Code Online (Sandbox Code Playgroud)