没做出来的题

'''
合并:
[{a: 111}, {a: 222}, {b: 333}, {c: 444}, {b: 555}]
成:
[{a: [111, 222]}, {b: [333, 555]}, {c: 444}]
'''
思路:
遍历列表,和列表中的每一个词典
放到一个新字典中,如果key存在了,我就追加到列表里面
如果不在,则放到一个key为一个新的列表中。

遍历这个字典,放到列表中
 
s=[{'a': 111}, {'a': 222}, {'b': 333}, {'c': 444}, {'b': 555}]
d={}
for i in s:
    for k,v in i.items():
        if k not in d:
            d[k]=[v]           
        else:
            d[k].append(v)
print(d)
result=[]
for k,v in d.items():
    result.append({k:v})
print(result)
 
 
 
求一个列表的中位数
def get_middle_num(L):
    nums =sorted(L)
    if len(nums)%2==0:
        return (nums[len(nums)//2-1]+nums[len(nums)//2])/2
    else:
        return nums[len(nums)//2]
print(get_middle_num([1,2,3,4,5,6,7,8,9,10,11]))
print(get_middle_num([1,2,3,4,5,6,7,8,9,10]))

猜你喜欢

转载自www.cnblogs.com/wenm1128/p/10658026.html