Python2.7中的列表(与3.x兼容)
我有一个代码,在这个代码中,我要求IP地址(它可以是任意的,因为代码只是为了显示,换句话说,实际上什么都不做),我用“.”作为delimeter拆分它,我想检查它是否有四个段,就像IP一样。我不想检查段的内容,我只想检查它是否可以是一个真正的IP(我知道IP的有效性有不止一个条件,但让我们保持简单) 如何检查一个列表是否有四个“元素”,而不会出现任何python错误。如果需要,我可以提供有问题的代码部分 编辑1: 谢谢你们的快速回答。以下是您要求的代码,稍作更改,但不起作用(以前的版本也不起作用)(我从fnmatch导入了fnmatch,函数已经定义):Python2.7中的列表(与3.x兼容),python,python-2.7,python-3.x,Python,Python 2.7,Python 3.x,我有一个代码,在这个代码中,我要求IP地址(它可以是任意的,因为代码只是为了显示,换句话说,实际上什么都不做),我用“.”作为delimeter拆分它,我想检查它是否有四个段,就像IP一样。我不想检查段的内容,我只想检查它是否可以是一个真正的IP(我知道IP的有效性有不止一个条件,但让我们保持简单) 如何检查一个列表是否有四个“元素”,而不会出现任何python错误。如果需要,我可以提供有问题的代码部分 编辑1: 谢谢你们的快速回答。以下是您要求的代码,稍作更改,但不起作用(以前的版本也不起作用
我正在尝试获取一些东西,当列表有四项时,它将调用success(),如果没有,则调用fail()。您需要在这里进行更多的调试。例如,检查您的拆分是否满足您的要求。第二,请阅读——这列出了我们对发布的期望 给出实际输入和错误消息会更快地给您一个答案:您向fnmatch提供了一个列表,它需要一个字符串。你在正确的轨道上,但你可以做得更简单
def success():
print "good"
def fail():
print "bad"
list = "10.10.10.127"
fields = list.split(".")
print fields
if len(fields) == 4:
success()
else:
fail()
您还需要检查每个字段是否完全是数字吗?看起来您希望我们为您编写一些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是包括您迄今为止编写的代码、示例输入(如果有)、预期输出和实际获得的输出(控制台输出、回溯等)。你提供的细节越多,你可能得到的答案就越多。检查和。您有两个问题,第一个问题是如何检查给定字符串是否为IP地址,第二个问题是如何确定列表是否有4项。对于第一个问题(使用“.”作为分隔符拆分字符串),您似乎有正确的想法,第二个问题可以通过参考Python文档中的列表类型轻松回答。试着多做一点实验,如果你还是被卡住了,你可以在下次发布你的代码。当你问问题时,最好包括你的代码示例。举一个例子说明你所拥有的和你想要得到的。@MorganThrapp我从来没有想要你为我写代码,如果你仔细阅读了这篇文章,你就会知道,你所要做的就是索取代码。所以,我就这么做了。如果你是这么想的,你可以更直截了当地说出来。@JanNovák为什么要用fnmatch(文件名匹配)来检查列表的长度是否为4?看起来您可能需要阅读Python教程。在任何好的教程中,都会很早就介绍如何查找对象的长度。谢谢,这本书对我很有用。检查字段是否为数字会很有帮助。再次感谢。
def success():
print "good"
def fail():
print "bad"
list = "10.10.10.127"
fields = list.split(".")
print fields
if len(fields) == 4:
success()
else:
fail()