看板 Python 關於我們 聯絡資訊
※ 引述《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://www.ptt.cc/bbs/Python/M.1482891107.A.1B4.html
tiefblau: eval ? 但我總覺得寫出這樣code的人腦袋... 12/28 10:26
shadowjohn: 自問自答,原來用vars()作的到 12/28 11:02
shadowjohn: print(vars()["a_"+str(i)]); 12/28 11:02
※ 編輯: shadowjohn (140.134.48.253), 12/28/2016 11:10:44
Neisseria: 以前看到一些 Perl 程式碼也會做類似的事 @@~ 12/28 11:16
Neisseria: 不過儘量不要這樣子寫應該比較好吧... 12/28 11:17
tiefblau: 或是locals() 12/28 11:31
king22649: 可以用%吧 12/28 12:30
uranusjr: 乖乖做陣列很難嗎 12/28 16:46