2013-05-30 42 views
-3

我有這個詞典:是否可以將字典值分配爲密鑰?

{'key': [1, 2130, 0, 279, 90, 92, 193, 1]} 

,我想關鍵永遠是根據被當時的讀取特定行的第三列。

我讀了一個csv文本文件,並將其構建到每行字典中。因此,對於每行讀取,都會使用「鍵」和特定行中CSV的所有值生成字典。

因此,對於一個例子:

{'key': [1, 2130, 0, 279, 90, 92, 193, 1]} 
{'key': [2, 2214, 0, 382, 71, 77, 211, 1]} 
{'key': [3, 169, 172, 691, 302, 15, 22, 1]} 
{'key': [4, 215, 363, 514, 41, 35, 172, 1]} 

在第一線的關鍵應該是0,那麼0,然後172,然後363

+0

但字典鍵必須是你尼克,對嗎?你的前兩個鍵都是0. –

+2

@MaxPower你能否讓你的解釋更清楚? – jamylak

+0

所以你有一個列表的字典? –

回答

1
>>> D = {'key': [1, 2130, 0, 279, 90, 92, 193, 1]} 
>>> D[D.pop('key')[2]] = D['key'] 
>>> D 
{0: [1, 2130, 0, 279, 90, 92, 193, 1]} 
+1

這正是我需要的......謝謝先生。我從來沒有想到這一點。我不能投票,因爲我剛剛失去了我的15個聲望。該死的你殘酷的人!我仍然是一個小白菜...... :( – MaxPower

1

而且我想關鍵始終是根據當時閱讀的 特定行的第3列。

我讀了一個csv文本文件,並將其構建到每行字典中。

你確定你是不是想找DictReader

import csv 

with open('somefile.csv', 'rb') as f: 
    reader = csv.DictReader(f, delimiter=',') 
    lines = list(reader) 

如果somefile.csv有以下內容:

Name, Age 
John, 14 
Mary, 15 
Adam Smith, 40 

lines將是:

[{'Name': 'John', ' Age': ' 14'}, {'Name': 'Mary', ' Age': ' 15'}, {'Name': 'Adam Smith', ' Age': ' 40'}] 
相關問題