【问题标题】: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)查看变量中的内容。

标签: python python-3.x


【解决方案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
      

      【讨论】:

        猜你喜欢
        • 2022-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-26
        • 1970-01-01
        • 2012-09-02
        相关资源
        最近更新 更多