【问题标题】:Comparing consequent strings in Python在 Python 中比较结果字符串
【发布时间】:2015-07-14 17:47:51
【问题描述】:

现在我有一个字符串数组,我想循环遍历字符串数组并将一个索引处的值与下一个索引处的值进行比较。例如,如果我在 Java 中执行此操作,代码将是这样的:

string[] some = ["IP", "IP", "ADDRESS", "2342.42.2", "IP", "ASDF"];
for (int i = 0 ; i < some.length() ; i++)
    if (some[i] == "IP" && some[i+1] == "ADDRESS")
        int ipaddress = some[i+2];

我知道 Python 有点不同,但基本上我是在尝试找到第一个 IP ADDRESS。如何比较当前元素和循环中的下一个元素?

【问题讨论】:

    标签: python string loops


    【解决方案1】:

    这是您的代码的直接翻译。在 python 中,enumerate 将列表作为索引、值对进行迭代。

    >>> some = ["IP", "IP", "ADDRESS", "2342.42.2", "IP", "ASDF"];
    >>> for i,v in enumerate(some):
    ...     if v=="IP" and some[i+1] == "ADDRESS": 
    ...         ipaddress = some[i+2]
    ... 
    >>> ipaddress
    '2342.42.2'
    

    但是,您可以考虑没有此类内容的最终情况。所以你也可以for i,v in enumerate(some[:-2])。这将确保您不会超出列表的范围,否则您将获得IndexError

    【讨论】:

    • 是的,我刚问完这个问题就想通了……这对我来说很愚蠢。我做了这样的事情:for index in range(len(datainarray)): print 'Current string :' , datainarray[index] if datainarray[index] == "IP" and datainarray[index + 1] == "ADDRESS": print "HERES ONE"
    • 使用enumerate是Python中的首选方式
    • 哦,好吧。会调查并使用它!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 2016-08-19
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 2019-01-17
    相关资源
    最近更新 更多