用type和isinstance
例子:
ta={}
ta['1']="a"
ta={'2':"b"}
ta['3']="c"
#使用两个函数
if type(ta) is dict:
print "what1"
if isinstance(ta,dict):
print "what2"
有段复杂的代码:
for key, app_arr in adn_app_data_map.items():
app_arr.sort(key=operator.itemgetter('click'), reverse=True)
app_arr = app_arr[:3]
keys = key.split('#')
category = keys[0]
ad_network_id = keys[1]
ad_id = keys[2]
for app in app_arr:
dimension_values = category + '#' + app['app_id'] + '#' + ad_network_id + '#' + ad_id
record = app['campaign_id'] + ',' + adn_ad_category_app_report + ',' + dimension_values + ',' + app['impression'] + \
',' + str(app['click']) + ',' + app['impression_cost'] + ',' + app['click_cost'] + '\n'
csv.writelines(record)
注意,这里的for循环意思是每次处理一个元组,即取items结果list中一个元组处理。
其中 adn_app_data_map = dict(),每个key是个字符串,而每个value是list[],list中存dict。
整体就是app_arr.sort()排序后,取前top 3用app_arr = app_arr[:3],就是list的前三个字典对象。
如果想看类型 用type(app_arr)就可以看到,还有type(app_arr[1])
这样能看出app_arr[:3]是list类型操作,取list的前3个成员