可用率map处理

total_data =[
{'event_current_dealer': '陈铁', 'id__count': 66},
{'event_current_dealer': '丁凯', 'id__count': 70},
{'event_current_dealer': '丁志杰', 'id__count': 76},  #相当于item
{'event_current_dealer': '郭雁平', 'id__count': 58},
{'event_current_dealer': '王宇', 'id__count': 1},
{'event_current_dealer': '周敬尧', 'id__count': 8},
{'event_current_dealer': '刘晓明', 'id__count': 80},
{'event_current_dealer': '孙奥开', 'id__count': 47},
{'event_current_dealer': '李大鹏', 'id__count': 3},
{'event_current_dealer': '戚文龙', 'id__count': 42},
{'event_current_dealer': 'nan', 'id__count': 4},
{'event_current_dealer': '陈思文', 'id__count': 86},
{'event_current_dealer': '王聪渊', 'id__count': 15},
{'event_current_dealer': '屈蕾', 'id__count': 1}
]


hang_data =[
{'event_hang_person': '陈铁', 'id__count': 2},
{'event_hang_person': '丁凯', 'id__count': 1},
{'event_hang_person': '丁志杰', 'id__count': 3},
{'event_hang_person': '郭雁平', 'id__count': 3},
{'event_hang_person': '王宇', 'id__count': 1},
{'event_hang_person': '周敬尧', 'id__count': 2},
{'event_hang_person': '刘晓明', 'id__count': 2},
{'event_hang_person': '王珠珠', 'id__count': 1},
{'event_hang_person': '李大鹏', 'id__count': 2}

]

t =[]
t_v =[]
for item in total_data:
    t.append(item['event_current_dealer'])
    t_v.append(item['id__count'])

if "nan" in t:
    t.remove("nan")


h = []
h_v = []
for item in hang_data:
    h.append(item['event_hang_person'])
    h_v.append(item['id__count'])
if "nan" in h:
    h.remove("nan")

# 挂起人是自己的
h_p = set(t).intersection(set(h))
"""
{'李大鹏', '陈铁', '郭雁平', '丁凯', '王宇', '丁志杰', '刘晓明', '周敬尧'}
"""

"""
有挂起率的人员
将数据封装成以下样式:
{"李大鹏":10,}
"""
# print(h_p)

t_dict = dict(zip(t,t_v))
h_dict = dict(zip(h,h_v))

t_new_dict = dict()

for item in h_p:
    for k,v in t_dict.items():
        if item == k:
            t_new_dict[item]=v

h_new_dict =dict()
for item in h_p:
    for k,v in h_dict.items():
        if item == k:
            h_new_dict[item]=v



# print(t_new_dict)
# print(h_new_dict)



# 按名字排序
t_names =[]
for item in t_new_dict:
    t_names.append(item)

t_names.sort(reverse=True)

t_last = dict()
for item in t_names:
    for k,v in t_new_dict.items():
        if item == k :
            t_last[item] =v

h_last = dict()
for item in t_names:
    for k,v in h_new_dict.items():
        if item == k :
            h_last[item] =v

print(t_last)
print(h_last)

t_last_v =[]

for k,v in t_last.items():
    t_last_v.append(v)

h_last_v =[]
for k,v in h_last.items():
   h_last_v.append(v)

print(t_last_v)
print(h_last_v)




findal_result = map(lambda x,y:str(round(x/y,2)*100)+"%",h_last_v,t_last_v)

print(list(findal_result))

"conet".strip()
asyncio
原文地址:https://www.cnblogs.com/leigepython/p/8599075.html