gpt4 book ai didi

Python:打印没有括号和单引号的列表?

转载 作者:太空狗 更新时间:2023-10-30 01:03:43 24 4
gpt4 key购买 nike

我有一个完整的 IP 地址列表。我想遍历列表并打印每个 IP 地址。当我尝试这样做时:

def printList(theList):
for item in theList:
print item

输出看起来像这样:

['8.0.226.5']
['8.0.247.5']
['8.0.247.71']
['8.0.249.28']
['8.0.249.29']

我已经尝试了所有方法,包括循环中的“print item[0]”。我做错了什么?

最佳答案

列表中的每一项本身就是一个单例列表。可能没有理由这么做——如果你不能说出一个,去删除它们(通过使用 re.find 而不是 re.findall 或从re.findall 返回的列表),它们只是多余的,会造成像本例中那样的麻烦。

无论如何,print item[0] 应该可以工作,因为它打印列表中的单个元素,并且与列表的 str() 不同,它不会运行首先通过 repr 的项目(这会导致引号,如果字符串中有任何字符,则会转义不可打印的字符)。一旦您摆脱了冗余的单例列表,print '\n'.join(items) 也将正常工作。

如果 theList 中有空列表,您的代码将抛出错误。如果 recentFile 中有一行不包含任何格式如 IP 的内容,则 returnIP 将返回一个空列表,如果 comparisonFile(顺便说一下:您在开头使用描述性名称打开它,但在 chechMatch 中一次又一次地打开它而没有描述性名称)也不包含 IP 地址,您将得到另一个空列表,当然等于作为参数 ip 传递的空列表。因此对于 recentFile 中的非 IP 名称,将添加空列表。如果您从 returnIP 返回字符串而不是单例列表,则可以避免整个麻烦,当当前行中没有 IP 时使用 None,并跳过检查/附加compareFiles 如果 returnIP 返回 None

关于Python:打印没有括号和单引号的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5750042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com