python基础类型方法汇总

列表去重dict元素

[dict(t) for t in set([tuple(d.items()) for d in list])]

list下套dict,判断dict中元素数据

# 以li 中的keyword为准,以li_2的hint为准。获得新的列表
li = [
    {"keyword": "aaa", "hint": 1},
    {"keyword": "bbb", "hint": 2},
    {"keyword": "ccc", "hint": 3},
    {"keyword": "ddd", "hint": 4},
    {"keyword": "eee", "hint": 5},
]

li_2 = [
    {"keyword": "bbb", "hint": 22},
    {"keyword": "ccc", "hint": 33},
    {"keyword": "ddd", "hint": 44},
    {"keyword": "eee", "hint": 55},
]

dict_1 = {i.get("keyword"): i.get("hint") for i in li}
dict_2 = {i.get("keyword"): i.get("hint") for i in li_2}
# print(dict_1, dict_2)
dict_3 = [{"keyword": k, "hint": dict_2.get(k) if dict_2.get(k) else 0} for k, v in dict_1.items()]
print(dict_3)

类似json的怪异数据

import demjson

li = [
"{\n name:'aa',\n age:'11'}",
"{\n name:'bb',\n age:'22'}"
]

for i in li:
dic = demjson.decode(i)
print(dic, "***************")

获取到str的dict,list,元祖等

eval函数就是实现list、dict、tuple与str之间的转化
str函数把list,dict,tuple转为为字符串
a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
b = "{1: 'a', 2: 'b'}"
print(type(eval(a)), eval(a))
print(type(eval(b)), eval(b))
a = '{"value":"2015","count":2,},{"value":"LTE2003","count":5,"desc":"2003\\u53ca\\u4ee5\\u524d"}, {"value":"2016","count":2,"desc":2016},{"value":"LTE2003","count":5,"desc":"2003\\u53ca\\u4ee5\\u524d"}'
data = list(eval(a))
print(data)
"""
[{'value': '2015', 'count': 2}, {'value': 'LTE2003', 'count': 5, 'desc': '2003及以前'}, {'value': '2016', 'count': 2, 'desc': 2016}, {'value': 'LTE2003', 'count': 5, 'desc': '2003及以前'}]
"""

列表根据子元素的value排序

li_1 = [{'keyword': 'a', 'hint': 6384},
        {'keyword': 'b', 'hint': 831},
        {'keyword': 'c', 'hint': 7448},
        {'keyword': 'd', 'hint': 7873},
        {'keyword': 'e', 'hint': 0},
]
li_2 = ["a","b","c","d","e"]

dic = {index: i for i, index in enumerate(li_2)}
newList = sorted(li_1, key=lambda x: dic[x.get("keyword")])
print(newList)

列表偶数位加2并返回列表

lis = [1, 2, 3, 4, 5, 6, 7, 8, 11]

print(list(map(lambda x: x[1] + 2 if not x[0] % 2 else x[1], enumerate(lis))))

 

posted @ 2019-08-21 20:50  洛丶丶丶  阅读(115)  评论(0)    收藏  举报