将带有null和text的字符串列表转换为整数

问题描述 投票:-1回答:2

我试图将带有空值的字符串列表和作为字符串['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
python python-3.x
2个回答
4
投票

您可以使用列表推导将每个值转换为int,或者如果它的空字符串只使用0

>>> values = ['1', '2', '', '4']
>>> [int(i) if i else 0 for i in values]
[1, 2, 0, 4]

0
投票

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项目作为intelse在项目的情况下''我们可以append一个0

© www.soinside.com 2019 - 2024. All rights reserved.