Ale*_*kov 0 python if-statement list-comprehension list
我有两个清单:
input_list = ['a','b']
existing_list = ['q','w','r']
Run Code Online (Sandbox Code Playgroud)
我想创建一个新的列表,input_list如果它不是空的则等于它应该等于existing_list.
最简单的方法是使用plain if-else:
if input_list:
list_to_use = input_list
else:
list_to_use = existing_list
Run Code Online (Sandbox Code Playgroud)
是否可以以列表理解或更简洁的任何其他方式执行此操作?
list_to_use = [x if input_list else y for y in existing_list for x in input_list]
Run Code Online (Sandbox Code Playgroud)
我能得到的最接近的是这个产生['a', 'b', 'a', 'b', 'a', 'b']错误的结果.
您不需要列表理解.这正是or操作的作用:
>>> input_list or existing_list
['a', 'b']
>>> input_list = []
>>>
>>> input_list or existing_list
['q', 'w', 'r']
Run Code Online (Sandbox Code Playgroud)