iT邦幫忙

0

python dict與list交錯好幾層的字典要如何查詢

  • 分享至 

  • xImage

如題,我有一個dict,但裡面有一個元素是list,這個list裡面其中一個元素又是dict,這個dict裡面某一個又是list。
大約4~5層的dict跟list交錯
我目前的做法是查詢完dict裡的該元素(dict['']後再把list內的第幾個(list[0])列出來又變成dict,重複好幾次。
萬幸大量的資料都長一樣,不過還是覺得這方法很笨。
請問各位大大有甚麼比較快的方法嗎
求教學,謝謝!

因為保密的關係,就不提供該字典了。

pickuse iT邦新手 4 級 ‧ 2023-07-07 14:36:14 檢舉
即使因為保密的關係,你仍然可以創建一個假的資料結構供所有人參考,
否則你就得看大家幫你通靈
froce iT邦大師 1 級 ‧ 2023-07-07 14:57:50 檢舉
另外你要做什麼查詢你也得說啊,一般dict和list就只能依鍵值/索引去查。
如果你要從內容查,都至少要做一次歷遍。甚至是利用 Self-Referencing 存到關係資料庫去找。
https://www.redbitdev.com/post/sql-tip-self-referential-tables
或是弄成JSON存到NoSQL去找會比較容易。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
win895564
iT邦新手 1 級 ‧ 2023-07-07 11:02:05
my_dict = {
    "key1": "value1",
    "key2": {
        "inner_key1": "inner_value1",
        "inner_key2": ["inner_list_item1", "inner_list_item2", {
            "inner_inner_key": {
                "inner_inner_inner_key": ["inner_inner_list_item1", "inner_inner_list_item2"]
            }
        }]
    },
    "key3": {
        "nested_key1": "nested_value1",
        "nested_key2": {
            "deep_key": {
                "deep_inner_key": ["deep_inner_list_item1", "deep_inner_list_item2"]
            }
        }
    },
    "key4": "value4"
}

請問你的字典資料結構是類似上面這樣嗎
單純查詢的話
遇到是字典就用key查詢遇到list就使用index查詢

my_dict['key2']['inner_key2'][2]['inner_inner_key']['inner_inner_inner_key']
output:
['inner_inner_list_item1', 'inner_inner_list_item2']

我要發表回答

立即登入回答