如何摆脱字典中的大括号/大括号,使字典垂直?

时间:2014-11-21 21:01:12

标签: python dictionary

我必须将一个txt文件导入到python中并将其导入到字典中。然后我必须摆脱大括号/花括号,然后垂直显示它,我不知道该怎么做。

这是我到目前为止创建的代码:

            Dictionary = {}

            with open('Clues.txt', 'r') as f:
                for line in f:
                    (key,val) = line[1], line[0]
                    Dictionary[key] = val

            print(Dictionary)

目前正在显示:

            {'&': 'L', '$': 'G', '£': 'J'}

但我需要它显示如下:

            '&': 'L'
            '$': 'G'
            '£': 'J'

我已经尝试了一切,没有任何工作,任何想法?

2 个答案:

答案 0 :(得分:3)

您可以遍历字典的items()format()输出。

for key, value in d.items():
    print('{}: {}'.format(key, value))

输出

&: L
$: G
£: J

答案 1 :(得分:1)

Json是一种用于处理数据的JavaScript格式,但几乎所有语言都可以读写。 https://docs.python.org/3.4/library/json.html

import json

d = json.loads(my_str_dictionary)
for key, value in enumerate(d):
    print(key, " : ", value)

如果您想使用它,JSON也有它自己的打印。来自json docs。

>>> print(json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4))
{
    "4": 5,
    "6": 7
}

你也可以使用ast literal_eval,它可以获取一个字符串并返回一个python对象。它仍然是一个eval,但它比常规eval好很多。 Using python's eval() vs. ast.literal_eval()?

import ast

d = ast.literal_eval(my_str_dictionary)
for key, value in enumerate(d):
    print(key, " : ", value)