Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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 - Fatal编程技术网

Python 如果列表中有值,请将其附加到另一个列表中,否则请附加预定义值

Python 如果列表中有值,请将其附加到另一个列表中,否则请附加预定义值,python,list,Python,List,假设我有一个列表a,我想根据列表B中的一些值来增加它。我想将B附加到a,如果B为空,我想输入一个预定义的值来表示这一点 if B: A.extend(B) else: A.append('no value') 这段代码正是我想要的,但我唯一的问题是它看起来不太像Python。我很确定,在列表中的if-else语句中,一定有一种方法可以做到这一点,比如: A.extend([[x for x in B] if B else 'no value']) 这一行几乎可以工作,但在A=

假设我有一个列表a,我想根据列表B中的一些值来增加它。我想将B附加到a,如果B为空,我想输入一个预定义的值来表示这一点

if B:
    A.extend(B)
else:
    A.append('no value')
这段代码正是我想要的,但我唯一的问题是它看起来不太像Python。我很确定,在列表中的if-else语句中,一定有一种方法可以做到这一点,比如:

A.extend([[x for x in B] if B else 'no value'])
这一行几乎可以工作,但在
A=[]
B=[1]
的情况下,我最终得到了
A=[[1]]
,这对我想要做的事情不起作用

有什么办法可以让它工作吗?

传递一个带有默认值的列表;此处也不需要列表理解:

A.extend(B or ['no value'])
我在这里使用了
,因为在布尔上下文中,空列表被认为是错误的;这里更紧凑,避免重复

条件表达式版本为:

A.extend(B if B else ['no value'])
传递带有默认值的列表;此处也不需要列表理解:

A.extend(B or ['no value'])
我在这里使用了
,因为在布尔上下文中,空列表被认为是错误的;这里更紧凑,避免重复

条件表达式版本为:

A.extend(B if B else ['no value'])

你想要
A.extend(如果B else['no value'])吗
?你想要
A.extend(如果B else['no value'])吗
?太棒了!正是我想要的!明亮的正是我想要的!