Listedeki her öğenin kendisi bir tek listedir. Bunun için bir neden yoktur - bir isim veremezseniz, gidip kaldırın (re.findall
üzerinden re.find
kullanarak veya re.findall
tarafından döndürülen listeden tek bir öğeyi döndürerek), yalnızca gereksizdir ve bu durumda sorun yaratır .
olursa olsun listede tek eleman baskı oluyor gibi print item[0]
çalışmalı ve listelerin str()
farklı olarak, tırnak neden olan (ilk repr
aracılığıyla öğeyi çalışmayacak ve herhangi olsaydı Basılamayan karakterlerden kurtulmak istiyorum dizgede). Ve yedekli tekil listelerinden kurtulduktan sonra, print '\n'.join(items)
da işe yarayacak.
theList
içinde boş bir liste varsa, kodunuz hata verir. recentFile
'da IP gibi biçimlendirilmiş hiçbir şey içermeyen bir satır varsa, boş bir liste returnIP
tarafından döndürülür ve comparisonFile
içinde herhangi bir satır varsa (bu arada: başlangıçta açıklayıcı bir adla açılır, ancak chechMatch
'da açıklayıcı bir ad olmadan tekrar ve tekrar) IP adresi içermiyorsa, ip
parametresi olarak geçirilen boş listeye eşit olan başka bir boş liste alırsınız. Yani recentFile
'daki IP olmayan isimler için boş listeler eklenecektir. returnIP
tekil listelerini yerine dizeleri döndürürseniz, bu satırda IP yok olduğunda None
öğelerini kullanın veNone
değerini döndürürse, denetim/ekleme işlemini atlayın.
Gerçekten mi? Yazdır öğeyi [0] 'denediğinizde ne oldu? –
IndexError: liste endeksi aralık dışı – Dan
Bu listenin neye benzediğini bize gösterir misiniz? –