Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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 如何避免';1';当传入为“无”时_Python_Python 3.x_Python 2.7 - Fatal编程技术网

Python 如何避免';1';当传入为“无”时

Python 如何避免';1';当传入为“无”时,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,我想要的结果是,当incoming2和incoming3为无时,应该避免在incoming1和incoming4之间打印两个“1” def string_con(self,combined): if combined is none: return '1' else: return str(combined) if incoming['col1'] or incoming['col1'] or incoming['col3'] or incoming

我想要的结果是,当incoming2和incoming3为无时,应该避免在incoming1和incoming4之间打印两个“1”

def string_con(self,combined):
    if combined is none:
       return '1'
    else:
       return str(combined)

if incoming['col1'] or incoming['col1'] or incoming['col3'] or incoming['col4']:    
combined = self.string_con(incoming['col1'])+'1'+self.string_con(incoming['col2'])+'1'+self.string_con(incoming['col3'])+'1'+self.string_con(incoming['col4'])

你能试一下吗

req_keys = ['col1', 'col2', 'col3', 'col4']
all_list = [incoming[i] for i in req_keys]
all_list = [i for i in all_list if i]
print('1'.join(all_list))
例如:

incoming = {}
incoming['col1'] = 'a'
incoming['col2'] = None
incoming['col3'] = 'c'
incoming['col4'] = None
输出:

a1c
a1d
另一个例子:

incoming = {}
incoming['col1'] = 'a'
incoming['col2'] = None
incoming['col3'] = None
incoming['col4'] = 'd'
输出:

a1c
a1d

如果传入['col1']或传入['col1'],您的代码中有一个输入错误-->
。。。猜第二个应该是
incoming['col2']
。。。这是你的错误的根源吗?有人能把英语讲干净吗?我真的不确定问的是什么。
None
,而不是
None
。资本化很重要。