Re: [问题] 新手又来发问了QAQ

楼主: uranusjr (←這人是超級笨蛋)   2014-04-01 22:13:38
※ 引述《lingze (walkman)》之铭言:
: list_parent_answer.append(Find_Minimum(list_parent_v1))
: list_parent_answer.append(Find_Minimum(list_parent_v2))
: .
: .
: .
: list_parent_answer.append(Find_Minimum(list_parent_v10))
: 假如我想要做这10行,有没有办法用循环做呢?
: list_parent_v1~v10 都是变量
: 我想要做成这样
: n=0
: while(0<temp):
: list_parent_answer.append(Find_Minimum(list_parent_vn))
: n += 1
: temp -= 1
: return list_parent_answer
: 请问有办法做到这样吗QQ?

for i in range(1, 11):
name = 'list_parent_v{n}'.format(n=i)
list_parent_answer.append(Find_Minimum(locals()[name])
试状况可能需要用 globals(), 不过大体上意思一样
========
不过我实在不会说这是个好模式
如果可以的话还是把这些东西整理到一个 list 或 tuple 里吧
即使你没有现在的需求, 命名十个变量本身就是很烂的写法
另外请不要用 eval 的写法
根据民间传说指出 eval 其实是 evil 拼错造成的, 是撒旦的产物(最好是
作者: lingze (walkman)   2014-04-01 22:43:00
大大请问为什么eval 不好呢? 因为很"邪恶"吗XD?
作者: qoorocker (rockers)   2014-04-02 08:56:00
安全 以及 debug 方面的问题 使用eval 要小心~
作者: keitheis (无)   2014-04-16 08:46:00
evil("uranusjr") # True

Links booklink

Contact Us: admin [ a t ] ucptt.com