我试图将带有空值的字符串列表和作为字符串['1','2','',...)输入的数字转换为整数列表,其中空值为零[1,2,0,... ..]。我现在使用的代码摆脱了我的列表并返回单个0:enter image description here
try:
input1 = int('column1')
except ValueError:
input1 = 0
try:
input2 = int('column2')
except ValueError:
input2 = 0
try:
input3 = int('column3')
except ValueError:
input3 = 0
print(input1)
0
您可以使用列表推导将每个值转换为int
,或者如果它的空字符串只使用0
。
>>> values = ['1', '2', '', '4']
>>> [int(i) if i else 0 for i in values]
[1, 2, 0, 4]
解
some_data = ['1', '2', '', '3', '', '4']
new_data = []
for i in some_data :
if i != '':
new_data.append(int(i))
else:
new_data.append(0)
print(some_data)
print(new_data)
产量
(xenial)vash@localhost:~/python$ python3 helping.py ['1', '2', '', '3', '', '4'] [1, 2, 0, 3, 0, 4]
似乎使用for循环可以简化任务。首先设置一个for
循环来循环some_data
中的项目。然后为每个项目检查if i != '':
。如果项目通过,我们可以append
项目作为int
,else
在项目的情况下''
我们可以append
一个0
。