Dan*_*Dan 5 python printing loops list
我有一个充满IP地址的列表.我想遍历列表并打印每个IP地址.当我尝试这样做时:
def printList(theList):
for item in theList:
print item
Run Code Online (Sandbox Code Playgroud)
输出看起来像这样:
['8.0.226.5']
['8.0.247.5']
['8.0.247.71']
['8.0.249.28']
['8.0.249.29']
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一切,包括循环中的"print item [0]".我究竟做错了什么?
小智 6
列表中的每个项目本身都是一个单例列表.有propably没有原因-如果你不能命名一个,去删除它们(使用re.find
过re.findall
或返回从返回的列表中的单个项目re.findall
),他们只是多余的,并导致像在这种情况下麻烦了.
无论如何,print item[0]
应该工作,因为它打印列表中的单个元素,并且与列表不同str()
,它不会首先运行项目repr
(这会导致引号并且如果字符串中有任何字符,则会转义不可打印的字符).一旦你摆脱了冗余的单例列表,print '\n'.join(items)
也会起作用.
如果存在空列表,则代码会抛出错误theList
.如果有一行recentFile
不包含任何格式化为IP的行,则会返回一个空列表returnIP
,如果有任何行comparisonFile
(顺便说一句:你在开头用一个描述性名称打开它,但是再次打开它,再次没有描述性名称chechMatch
)也不包含IP地址,你将得到另一个空列表,当然等于作为参数传递的空列表ip
.因此,对于非IP名称recentFile
,将添加空列表.如果您返回字符串而不是单例列表returnIP
,则可以避免此整个麻烦None
,当前行中没有IP时使用,并且compareFiles
如果returnIP
返回则跳过检查/追加None
.
归档时间: |
|
查看次数: |
15694 次 |
最近记录: |