作者shadowjohn (转角遇到爱)
看板Python
标题Re: [问题] if含式一次比较一个阵列的内容(另一个问题)
时间Wed Dec 28 10:11:43 2016
※ 引述《qqq04737084 (qqq332)》之铭言:
: 各位大大好,
: 小弟是python菜鸟,最近写程式遇到一个问题
: if(A==B or A==C or A==D ... A==Z ):
: Do something
: 可否将B,C,D,...,Z存成一个矩阵A1,然後直接用
: if(A==A1) :
: 去做判断
: 这样可以避免程式很冗长的感觉。纯粹是我意想天开的想法,想麻烦各位解答~~
: 谢谢。
刚好借这个问题想请问一个问题~
如果有一些已命名的变数如
a_1=1
a_2=2
a_3=3
a_4=4
def a_5():
print("GG");
在python中有没有类似php可以
for i in range(1,5):
${"a_{$i}"} --> 这种在 python 怎麽写?
这样的写法呢~~?
谢谢
----
原来可以用 vars()来处理这类的问题 :)
vars()["a_5"]() //output GG
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.134.48.253
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Python/M.1482891107.A.1B4.html
1F:推 tiefblau: eval ? 但我总觉得写出这样code的人脑袋... 12/28 10:26
2F:→ shadowjohn: 自问自答,原来用vars()作的到 12/28 11:02
3F:→ shadowjohn: print(vars()["a_"+str(i)]); 12/28 11:02
※ 编辑: shadowjohn (140.134.48.253), 12/28/2016 11:10:44
4F:推 Neisseria: 以前看到一些 Perl 程式码也会做类似的事 @@~ 12/28 11:16
5F:→ Neisseria: 不过尽量不要这样子写应该比较好吧... 12/28 11:17
6F:→ tiefblau: 或是locals() 12/28 11:31
7F:推 king22649: 可以用%吧 12/28 12:30
8F:→ uranusjr: 乖乖做阵列很难吗 12/28 16:46