我的包具有以下结构:
mobilescouter/
__init__.py #1
mapper/
__init__.py #2
lxml/
__init__.py #3
vehiclemapper.py
vehiclefeaturemapper.py
vehiclefeaturesetmapper.py
...
basemapper.py
vehicle/
__init__.py #4
vehicle.py
vehiclefeature.py
vehiclefeaturemapper.py
...
Run Code Online (Sandbox Code Playgroud)
我不确定__init__.py文件应该如何正确编写.
的__init__.py #1样子:
__all__ = ['mapper', 'vehicle']
import mapper
import vehicle
Run Code Online (Sandbox Code Playgroud)
但是应该__init__.py #2怎么样?我的是:
__all__ = ['basemapper', 'lxml']
from basemaper import *
import lxml
Run Code Online (Sandbox Code Playgroud)
什么时候应该__all__使用?
我有一个清单:
myList = [-3, -3, 6, 10, 10, 16, 16, 40, 40, 60, 60, 100, 100, 140, 140, 211, -8]
Run Code Online (Sandbox Code Playgroud)
我怎样才能有效地删除所有重复的项目,即有一个像这样的新列表:
[6,211,-8]
Run Code Online (Sandbox Code Playgroud)
我知道一种方法,通过跟踪重复的项目,然后使用python set()删除它们,即
listOfDuplicates = [x for x, y in collections.Counter(myList).items() if y > 1]
newList = list(set(myList) - set(listOfDuplicates))
Run Code Online (Sandbox Code Playgroud)
在python中有没有更好的方法(保留顺序)?