【发布时间】:2019-09-28 23:02:24
【问题描述】:
我有以下测试代码。我怎样才能使这个条件为真。我知道 a.split 是 Str() 中的方法,但是当我将它放在变量上时,它会将其视为一个列表。
a="1.1.1.1/29"
aa=a.split('/')
>>aa == "29"
>>False
【问题讨论】:
-
使用
print(aa)查看变量中的内容。
标签: python python-3.x
我有以下测试代码。我怎样才能使这个条件为真。我知道 a.split 是 Str() 中的方法,但是当我将它放在变量上时,它会将其视为一个列表。
a="1.1.1.1/29"
aa=a.split('/')
>>aa == "29"
>>False
【问题讨论】:
print(aa)查看变量中的内容。
标签: python python-3.x
你可以用in就行了
a="1.1.1.1/29"
aa=a.split('/')
>>"29" in aa
>>True
【讨论】:
Split 确实将字符串拆分为子字符串,并在列表中返回结果子字符串。
以下条件返回真:
aa[1] == "29"
【讨论】:
str.split() 返回“用您指定的分隔符分割原始字符串后的字符串列表。
a = '1.1.1.1/29'
aa = a.split('/') # aa is now ['1.1.1.1', '29']
subnet = aa[1] # subnet is '29'
您可以在这里了解更多信息:https://www.pythonforbeginners.com/dictionary/python-split
【讨论】:
str.split 给你一个列表,a.split('/') 也给你一个列表,如果你将一个列表与一个字符串进行比较,它显然会失败
您需要获取列表的最后一个元素并将其与29 进行比较,代码才能按如下方式工作。
In [119]: a="1.1.1.1/29"
In [120]: aa=a.split('/')
#Gives you a string
In [121]: aa
Out[121]: ['1.1.1.1', '29']
#Second element of list is 29, comparison returns True
In [122]: aa[1] == '29'
Out[122]: True
#List to string comparison returns False
In [123]: aa == '29'
Out[123]: False
但是你可以使用in操作符来检查成员资格,看看该项目是否包含在字符串本身中,这样可以省去拆分字符串和比较列表项目的麻烦
In [125]: a="1.1.1.1/29"
In [126]: '29' in a
Out[126]: True
【讨论】: