我有文件,對值會是這樣的:檢索和組合多個詞典條目
123 456
84665 88
90 2339
2624 5371
6118 6774
我也有一本字典,其中幾個鍵包含多個值,通過列表來表示。例如:
{123: ['A1B1C1', '2X3P4T5O'], 456: ['C5H5J8F3', 'D3K21F9', 'F1N5NA3']}
現在,我想要做的是,在對線的每個條目(例如:123
和456
),獲得此:
A1B1C1 C5H5J8F3
A1B1C1 D3K21F9
A1B1C1 F1N5NA3
2X3P4T5O C5H5J8F
2X3P4T5O D3K21F9
2X3P4T5O F1N5NA3
也就是說,結合每一個值從123鍵,從456鍵的每個值。 一些鍵只有一個值,但其他鍵有多達6
我一直在使用這樣的:
for line in infile:
lread += 1
column = line.strip().split('\t')
value1 = data.__getitem__(column[0])
value2 = data.__getitem__(column[1])
total1 = len(value1)
total2 = len(value2)
num1 = 0
num2 = 0
然後試着用while循環,for循環,用各種組合範圍(len()),但不能做我想要的。 我很確定它是這樣,但由於我是編程新手,我似乎無法做到。 有什麼想法?
這是驚人的!我只用一個循環,我知道它不會讓我到任何地方。但我不確定我是否理解你剛剛做了什麼,即使它有效。 你可以'翻譯'它嗎?非常感激! – 2012-07-23 16:42:48
@EdwardCoelho:這基本上就是代碼所說的:「對於data [columns [0]]中的每個'x',迭代'data [columns [1]]'中的每個'y'。 – 2012-07-23 16:59:37
哦,我太傻了。謝謝,現在這很合乎邏輯。 – 2012-07-24 10:05:34