文章詳情頁
python獲取dict所有value
瀏覽:190日期:2022-07-12 18:39:51
問題描述
如:
p={ ’a’:’aa’, ’b’:{ ’b’:’bb’ }}print(dict(p).values())
返回的是:
dict_values([’aa’, {’b’: ’bb’}])
而想要的是aa和bb。應該怎么寫,謝謝了
問題解答
回答1:def values(d): for v in d.values():if isinstance(v, dict): for _ in values(v): yield _else: yield vdata = values({1:1,2:{2:2,3:{3:3,4:4}}})for v in data: print(v)# 1 2 3 4
如果使用python 3.3+,for _ in values(v): yield _ 可用 yield from values(v) 替換
回答2:貌似只能遍歷
# coding: utf-8p={ ’a’:’aa’, ’b’:{’b’:’bb’,’c’: { ’c’: ’cc’, ’d’: {’d’: ’dd’ }} }}def f(d): nl = [] for _ in d.values():nl += f(_) if isinstance(_, dict) else [_] return nlprint f(p)
相關文章:
1. docker鏡像push報錯2. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””3. 關于docker下的nginx壓力測試4. docker - 如何修改運行中容器的配置5. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題6. angular.js - angularjs的自定義過濾器如何給文字加顏色?7. 前端 - @media query 使用出現的問題?8. html - css氣泡,實現“倒三角(不知道算不算三角了)”可透明的。9. html5和Flash對抗是什么情況?10. java - 如何點擊按鈕,重新運行(我是初學者)?
排行榜

網公網安備