可以将字典值指定为键吗?

时间:2013-05-30 10:01:15

标签: python

我有这本词典:

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

我希望密钥永远是第3列,根据当时读取的特定行。

我读了一个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。

2 个答案:

答案 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 :(得分: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'}]