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

作者: darkgerm (黑駿)   2016-01-19 23:57:14
※ 引述《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)

Links booklink

Contact Us: admin [ a t ] ucptt.com