我尋求幫助的一天。 我有一個字符串的大名單,從13225行文本文件中創建:python 2.7在列表中查找失敗,但迭代列表發現它
with open(dest_file) as f2:
content_dest = [line.rstrip('\n') for line in f2]
我的搜索字符串是mp
。 在列表中檢查mp
失敗。列表中的所有項都是
<type str>
當我迭代列表時,發現mp
。
我沒有看到任何明顯的(再次)爲什麼這是如此。我在列表索引之後,所以我可以通過訪問我在大列表中需要的索引來處理index +處的數據。由於我的迭代'工作',我想我的問題是我如何獲得'mp in list'代碼來實際工作..?和/或爲什麼mp
在列表'工作?非常感謝。
mp = 'r1_crvR_2_29040_-8580_180'
chk = mp in content_dest
print '**', chk
for x in content_dest:
chk = mp in x
if chk:
print 'Found:', mp, x
print type(mp), type(x)
for i in range(0, len(content_dest)):
chk = mp in content_dest[i]
if not chk:
pass
else:
print 'Found:', mp, content_dest[i], i
結果:
** False
Found: r1_crvR_2_29040_-8580_180 Name "r1_crvR_2_29040_-8580_180"
<type 'str'> <type 'str'>
Found: r1_crvR_2_29040_-8580_180 Name "r1_crvR_2_29040_-8580_180" 11846
謝謝!所以,如果我從兩個答案都理解,我的代碼失敗,因爲我正在尋找的字符串是列表中的子字符串。檢查每個項目的作品,因爲..好吧,它只是。所以我應該使用這種方法。希望我可以標記兩個答案的權利。 – shawn
只要你願意!主要想法是幫助,而不是得到一個國旗:) – pivanchy