如何从字符串中提取字符串,然后将字符串转换为列表,并仅从列表中获取特定值?



code I tried:

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 ']预期:output get is ["8"]["8","10"]

实际上你必须改变这一行

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

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

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

你的代码如果不是("0"在x)将执行True, False, False, False

为什么第三次迭代也是False的意思,"10"也会包含& 0"因此它返回False,因为"10"不会在输出中打印。注意"0";在x中(您的语句)将检查"0";对象是否存在于x中

最新更新