OHL*_*ÁLÁ 3 python dictionary object
我有以下对象
class LidarPropertiesField(object):
osversion = ''
lidarname = ''
lat = 0.0
longit = 0.0
alt = 0.0
pitch = 0.0
yaw = 0.0
roll = 0.0
home_el = 0.0
home_az = 0.0
gps = 0
vad = 0
ppi = 0
rhi = 0
flex_traj = 0
focuse = 0
type = 0
range_no = 0
hard_target = 0
dbid = 0
Run Code Online (Sandbox Code Playgroud)
另外我有一个字段相同的字典,是否可以将对象字段与for循环中的字典字段进行比较?
假设dict被调用d,这将检查是否LidarPropertiesField具有与d以下所有键相同的值d:
for k, v in d.iteritems():
if getattr(LidarPropertiesField, k) != v:
# difference found; note, an exception will be raised
# if LidarPropertiesField has no attribute k
Run Code Online (Sandbox Code Playgroud)
或者,您可以将类转换为dict类似的类
dict((k, v) for k, v in LidarPropertiesField.__dict__.iteritems()
if not k.startswith('_'))
Run Code Online (Sandbox Code Playgroud)
并与之比较==.
注意跳过与启动所有类属性_来避免__doc__,__dict__,__module__和__weakref__.