【问题标题】:how to extract the string from the string then convert the string to list and get only specific values from the list?如何从字符串中提取字符串然后将字符串转换为列表并仅从列表中获取特定值?
【发布时间】:2021-03-08 06:16:43
【问题描述】:

我试过的代码:

my_string = """
   interface list:
          0 - ethx
                server: 32x1-33x0  client: 33x1-34x0
                networks:
                   0 - 4cxxxx79-a4f3-4b18-b26b-377xxxx83
   cat list:
           8   0 "INTEL SSDxxxx20T8                   PHLxxP0BGN  01" - snxx, slot: 0-11
          10   0 "INTEL SSDPxxx20T8                   PHLJ9xxx0BGN  01" - snxx, slot: 0-13"""
a = my_string.split("cat list:", 1)[1]
li = a.split(" ")
mynewlist = [s for s in li if s.isdigit()]
print(mynewlist)
m = [x for x in mynewlist if not ("0" in x)]
print(m)

['8', '0', '10', '0'] ['8'] 预期的: 输出得到的是 ["8"] 预计输出为 ["8","10"]

【问题讨论】:

  • 试试[x for x in mynewlist if x != '0']

标签: python-3.x string list


【解决方案1】:

其实你要换行

来自

m = [x for x in mynewlist if not ("0" in x)]

[x for x in mynewlist if x!='0']

说明

mynewlist = ["8","0","10","0"]

你的代码if not ("0" in x)会像 True , False, False , False 一样执行

为什么第三次迭代也 False 意味着,“10”也将包含“0”,因此它返回 False,因为“10”没有打印在您的输出中。 注意 x(您的语句)中的“0”将检查 x 中是否存在“0”obj。

【讨论】:

    猜你喜欢
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2015-11-23
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    相关资源
    最近更新 更多