python - 从包含 python 3 中的异构数据类型项的列表中仅获取正数

标签 python list

我有一个包含在字符串中的异构数据类型的项目列表。

lst=['1','err','-1',' ','155']

据此,我想获得一个只有正数的新列表:new_lst=[1,155]

我尽量避免使用负数,如下所示。但是,我无法避免字符串和空字符串:

lst1=int(lst)
for i in lst1:
    if i<0:
    print i
    else:
    continue

Traceback (most recent call last):
  File "C:/Users/Dev/Documents/Assignment-2/test-2.py", line 22, in <module>
    c3=int(row[3])
ValueError: invalid literal for int() with base 10: 'err'
>>> 

最佳答案

lst=['1','err','-1',' ','155']
newlst = []
for i in lst:
    try:
        if int(i) >= 0:
            newlst.append(int(i))
    except ValueError:
        pass

关于python - 从包含 python 3 中的异构数据类型项的列表中仅获取正数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33177684/

相关文章:

循环中的 Python 动态子集

要听写的元组的 Python 列表

python - 使用 lambda 从句子中删除单词列表

python - 使用循环将对象添加到列表(python)

python-3.x - Python 列表创建差异

python - Jinja2 遍历字典项列表

python - 包含数组的 ctypes 结构

python - 如何在 Tensorflow 中为数组创建 np.subtract.outer

python - 从 Unicode 字符串中去除文件名中禁用字符的最有效方法

java - 将 ArrayList 添加到类中 - 它有什么作用?