我有以下测试代码。我怎样才能使这个条件为真。我知道a.split是Str()中的方法,但是当我将它放在变量上时,它将视为一个列表。
a="1.1.1.1/29"
aa=a.split('/')
>>aa == "29"
>>False
答案 0 :(得分:1)
您可以在列表中使用
a="1.1.1.1/29"
aa=a.split('/')
>>"29" in aa
>>True
答案 1 :(得分:0)
Split确实确实将字符串拆分为子字符串,并将返回的子字符串返回到列表中。
以下条件返回True:
aa[1] == "29"
答案 2 :(得分:0)
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
答案 3 :(得分:0)
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