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