Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有两个列表的Python列表理解:评估列表_Python_List_If Statement_List Comprehension - Fatal编程技术网

具有两个列表的Python列表理解:评估列表

具有两个列表的Python列表理解:评估列表,python,list,if-statement,list-comprehension,Python,List,If Statement,List Comprehension,我有两份清单: input_list = ['a','b'] existing_list = ['q','w','r'] 我想创建一个新列表,它将等于input\u list,如果它不是空的,否则它应该等于existing\u list 最简单的方法是使用普通的if-else: if input_list: list_to_use = input_list else: list_to_use = existing_list 是否可以通过列表理解或任何其他更简洁的方式来实现这一点 li

我有两份清单:

input_list = ['a','b']
existing_list = ['q','w','r']
我想创建一个新列表,它将等于
input\u list
,如果它不是空的,否则它应该等于
existing\u list

最简单的方法是使用普通的
if-else

if input_list:
  list_to_use = input_list
else:
  list_to_use = existing_list
是否可以通过列表理解或任何其他更简洁的方式来实现这一点

list_to_use = [x if input_list else y for y in existing_list for x in input_list]

我能得到的最接近的结果是,这个结果产生了一个错误的结果

您不需要列表理解。这正是
操作所做的:

>>> input_list or existing_list 
['a', 'b']
>>> input_list = []
>>> 
>>> input_list or existing_list 
['q', 'w', 'r']

除了Kasramvd建议的
(应该是这样做的方法)之外,您还可以使用


“保持简单和愚蠢”。:)谢谢你的接受,但我写它只是作为一个选择。向上投票的答案(使用
)是您应该肯定使用的答案。@Lafexlos,我会的。对读者来说,这似乎更直观。
list_to_use = input_list if input_list else existing_list