Re: [問題] 多個變數判斷數值

看板Python作者 (黑駿)時間8年前 (2016/01/19 23:57), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《zha0 (這個帳號是掛網用)》之銘言: : 如果今天有 : a=1 : b=2 : c=3 : d=4 : e=5 : 請問有什麼方式,可以快速判斷那個變數裡面是存 3, 並回傳該變數名稱 ? : 亂寫一通 : for i,j in enumerate([ x == 3 for x in [a,b,c,d,e] ]): : if j: : 'abcde'[i] : 不知有沒有什麼比較好的做法, 感謝 如果 a b c d e 是存成 dict 的話,就很好處理,走一次內容就是了 data = { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, } for key, value in data.items(): if value == 3: print(key) 雖然不知道你遇到的情境是什麼 不過如果真的沒辦法,a b c d e 就是散在 globals 的話,就要用一些 tricky 的方式 a, b, c, d, e = 1, 2, 3, 4, 5 for var_name in ['a', 'b', 'c', 'd', 'e']: if globals()[var_name] == 3: print(var_name) -- 光明 的背後 是 黑暗 黑暗 的背後 還是 黑暗 由此可知 黑暗 > 光明 Q.E.D. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.235.135 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1453219037.A.4BC.html
文章代碼(AID): #1MdbpTIy (Python)
文章代碼(AID): #1MdbpTIy (Python)