我相信用一个例子可以更好地理解这个问题,比如说我有一个for循环,我想改变它是根据变量迭代dict还是在一系列值中。对于示例:
my_dict = [ 'value_a':5, 'value_b':8, ... ]
if some_boolean:
for i in range(0, 10):
else:
for i in my_dict:
# body of the for loop
这不起作用,因为第一个声明下没有任何内容。我曾想过用字符串()的值创建一个字典,或者写两次循环体,但我想知道是否有更优雅的解决方案。
有没有办法做这个而不用变量做奇怪的事情?
谢谢!
答案 0 :(得分:2)
x = False #True
y = 1,2,3,4,5,6,7,8,9,
z = 11,22,33,44,55,66,77,88,99
for i in y if x else z:
print(i)
应该相当容易理解,希望它有所帮助。
答案 1 :(得分:2)
你可以做这样的事情(对于前面的答案的替代方法。):
if (move_uploaded_file($_FILES['async-upload']['tmp_name'], __DIR__.'/wp-content/uploads/'.$_FILES['async-upload']['name'])) {
echo "File is valid, and was successfully uploaded.\n";
} else {
// this always returns 0
echo $_FILES['async-upload']["error"];
}