亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

寿光市| 英吉沙县| 洛南县| 祁连县| 北碚区| 朝阳县| 教育| 海宁市| 攀枝花市| 桂林市| 龙陵县| 渭源县| 烟台市| 聂拉木县| 万荣县| 灵丘县| 霞浦县| 图木舒克市| 尚义县| 武邑县| 新化县| 汕头市| 中西区| 南宫市| 东方市| 右玉县| 漯河市| 北宁市| 三台县| 水城县| 迭部县| 庄河市| 怀仁县| 故城县| 陵川县| 吴忠市| 鹤庆县| 麻江县| 揭西县| 伊川县| 行唐县|