仅打印数组数据Python3上的数字

2024-04-27 21:57:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个这样的随机数据列表

tables =
['No', 'Name', 'Job']
['1', 'A', 'A']
['', '', '']
['2', 'B', 'B']
['3', 'C', 'C']

如何仅显示包含数字的列表行

['1', 'A', 'A']
['2', 'B', 'B']
['3', 'C', 'C']

我已经尝试了int-isinstance,但是正如您所看到的,所有数据都是一个字符串


Tags: 数据no字符串name列表tablesjob数字
2条回答

使用str.isnumeric()测试字符串是否为数字

tables = [
    ['No', 'Name', 'Job'],
    ['1', 'A', 'A'],
    ['', '', ''],
    ['2', 'B', 'B'],
    ['3', 'C', 'C']
]
number_table = filter(lambda row: any(x.isnumeric() for x in row), tables)

您可以在列表中使用^{}

[table for table in tables if any(x.isdigit() for x in table)]

示例

tables = [['No', 'Name', 'Job'],
          ['1', 'A', 'A'],
          ['', '', ''],
          ['2', 'B', 'B'],
          ['3', 'C', 'C']]

contains_numbers = [table for table in tables if any(x.isdigit() for x in table)]

相关问题 更多 >