91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python列表套json字典怎么根據相同的key篩選數據

發布時間:2022-04-24 10:14:18 來源:億速云 閱讀:199 作者:iii 欄目:開發技術

本篇內容介紹了“python列表套json字典怎么根據相同的key篩選數據”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

前言:

工作中遇到以下小問題,解決方法如下,可能比較暴力,暫時留檔,再進行優化。

要求:將列表中json的 ‘id’ 字段值相同的數據,根據 type的值,按照一定的優先級次序排列,列表中僅保留優先級最高的type

測試用例:

list1 示例數據:

type優先級列表:[6, 4, 2, 5, 8, 3, 7, 1] (依次遞減,6優先級最高,1優先級最低)

draw_data  = [
        {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'8'}, "id": "03N3211"},
            {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'5'}, "id": "01N2234"},
            {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'8'}, "id": "03N3211"},
            {'geometry':{"coordinates":[121.8758861111111, 30.866086111111112]},"properties":{'type':'32'}, "id": "01N2234"},
            {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'8'}, "id": "09N1111"},
            {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'11'}, "id": "03N3211"},
            {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'2'}, "id": "09N1111"},
            {'geometry':{"coordinates":[121.87705277777778, 30.86705]}, "properties": {'type': '2'}, "id": "01N2234"}
        ]

以上結果應該為:

draw_data  = [
            {'geometry':{"coordinates":[121.8758861111111, 30.866086111111112]},"properties":{'type':'32'}, "id": "01N2234"},
            {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'8'}, "id": "09N1111"},
            {'geometry':{"coordinates":[121.87635833333333, 30.86567777777778]},"properties":{'type':'11'}, "id": "03N3211"},
        ]
def removeduplicate(self, list1, priority=None):
        """
        列表套字典去重復, 篩選相同組串id優先級最高的類型
        :param list1: 輸入一個有重復值的列表
        :priority : 優先級列表
        :return: 返回一個去掉重復的列表
        """
        sort_dict = {'6': 100, '4': 99, '2': 98, '5': 97, '8': 96, '3': 95, '7': 94, '1': 93}   # self.types 顏色表按優先級排序
        newlist = []
        print("list1:", list1)
        for ind_i, i in enumerate(list1):  # 先遍歷原始字典
            flag = True
            if newlist == []:  # 如果是空的列表就不會有重復,直接往里添加
                pass
            else:
                for ind_j, j in enumerate(newlist):
                    j_id = j['id']
                    if j_id == i['id']:     # 相同id
                        if sort_dict[j['properties']['type']] <= sort_dict[i['properties']['type']]:
                            newlist[ind_j] = i
                        else:
                            flag=False
                    else:   # 不相等,id可能已經出現過
                        for ind_li, li in enumerate(newlist):
                            if i['id'] == li['id']:
                                if sort_dict[i['properties']['type']] >= sort_dict[li['properties']['type']]:
                                    newlist[ind_li] = i
                                else:
                                    flag = False
            if flag:
                newlist.append(i)
        return newlist

“python列表套json字典怎么根據相同的key篩選數據”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高密市| 理塘县| 扎鲁特旗| 松阳县| 鹰潭市| 平乐县| 东平县| 博湖县| 汶上县| 承德县| 舟曲县| 龙里县| 新昌县| 隆德县| 鸡西市| 绵阳市| 子洲县| 商城县| 永春县| 吉首市| 安多县| 富民县| 石屏县| 毕节市| 浪卡子县| 眉山市| 大姚县| 昌都县| 赤水市| 万山特区| 琼结县| 永顺县| 多伦县| 晋宁县| 南平市| 凤城市| 巴林右旗| 贵州省| 张家口市| 台东市| 故城县|