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 将包含null和文本的字符串列表转换为整数_Python_Python 3.x - Fatal编程技术网

Python 将包含null和文本的字符串列表转换为整数

Python 将包含null和文本的字符串列表转换为整数,python,python-3.x,Python,Python 3.x,我正在尝试将包含空值和数字的字符串列表转换为整数列表,其中空值为零[1,2,0,…]。我现在使用的代码将删除列表并返回单个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'

我正在尝试将包含空值和数字的字符串列表转换为整数列表,其中空值为零[1,2,0,…]。我现在使用的代码将删除列表并返回单个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)
输出


似乎使用for循环可以使任务更简单。首先为
设置
for
循环,在
一些数据中的项目中循环。然后,对于每个项目,检查
如果i!='':
。如果项目通过,我们可以
项目附加为
int
,如果项目是
'
,我们可以
项目附加为
int
e> 追加
a
0

否。您之前就在。请删除图像。+1
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]