我有以下测试代码。我怎样才能使这个条件为真
Posted
技术标签:
【中文标题】我有以下测试代码。我怎样才能使这个条件为真【英文标题】:I have below test code. How can I made this condition to be True 【发布时间】:2019-09-28 23:02:24 【问题描述】:。我知道 a.split 是 Str() 中的方法,但是当我将它放在变量上时,它会将其视为一个列表。
a="1.1.1.1/29"
aa=a.split('/')
>>aa == "29"
>>False
【问题讨论】:
使用print(aa)
查看变量中的内容。
【参考方案1】:
你可以用in就行了
a="1.1.1.1/29"
aa=a.split('/')
>>"29" in aa
>>True
【讨论】:
【参考方案2】:Split 确实将字符串拆分为子字符串,并在列表中返回结果子字符串。
以下条件返回真:
aa[1] == "29"
【讨论】:
【参考方案3】: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
【讨论】:
对不起。忘记包含索引。但这也可以。【参考方案4】: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
【讨论】:
以上是关于我有以下测试代码。我怎样才能使这个条件为真的主要内容,如果未能解决你的问题,请参考以下文章