2012-07-12 144 views
0

所以這裏我有一個'Q9ULI0'編號的列表。這是這個樣子:字典中列表的訪問索引?

['1117', '285', '357', '58', '813', '1398', '566'] 

當我打電話print lookup['Q9ULI0'] 我試圖訪問的所有索引的值,看看是否數目是我的兩個值之間。我嘗試使用.len和循環,但它甚至沒有編譯。先謝謝你。

lookup = defaultdict(list) 

mydata = open('mydata.txt') 

for line in csv.reader(mydata, delimiter='\t'): 

    code = re.match('[a-z](\d+)[a-z]', line[-1], re.I) 
    if code: 
     lookup[line[-2]].append(code.group(1)) 

print lookup['Q9ULI0'] 
+1

「但它甚至沒有編譯」 - 我假設你的意思是有語法錯誤。你可以發佈回溯? – mgilson 2012-07-12 22:48:38

+0

@mgilson我正在測試,看我是否使用lookup.len()或code.len()會給我列表的長度,但它給了我這個錯誤:AttributeError:'NoneType'對象沒有屬性'len' – 2012-07-12 22:50:38

+0

@ChadD我想你想'len(lookup)'或'len(code)' – 2012-07-12 22:51:42

回答

1

如果你能夠打印lookup['Q9ULI0'],讓你有上面的列表中,你在它使用for應該有下面的代碼,它獲取列表的長度和循環沒有任何問題:

print len(lookup['Q9ULI0']) 
for item in lookup['Q9ULI0']: 
    print item 
+0

感謝它現在的作品 – 2012-07-12 22:53:56