2014-03-24 63 views
14

我有一个约50个字符串的列表,其中包含一个整数,表示它们在文本文档中出现的频率。我已经格式化了它,如下所示,并且试图创建这个信息的字典,第一个字是值,关键字是它旁边的数字。Python将对象列表转换为字典

string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)] 

的代码,我到目前为止有:

my_dict = {} 
for pairs in string: 
    for int in pairs: 
     my_dict[pairs] = int 
+3

“字符串”可能不是该对象的名称的好选择。 –

+0

[Python:将键值元组列表转换为字典的可能的副本?](http://stackoverflow.com/questions/6586310/python-convert-list-of-key-value-tuples-into-dictionary) –

回答

32

这样,Python的dict()功能完美的设计转换tuplelist一个s,这是你必须:

>>> string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)] 
>>> my_dict = dict(string) 
>>> my_dict 
{'all': 16, 'secondly': 1, 'concept': 1, 'limited': 1} 
+0

来吧,这需要在文档中。这就像,你会尝试通过反复试验的第一件事。 –

10

只需致电dict()

>>> string = [('limited', 1), ('all', 16), ('concept', 1), ('secondly', 1)] 
>>> dict(string) 
{'limited': 1, 'all': 16, 'concept': 1, 'secondly': 1} 
1

该变量是string变量对的列表。这意味着你可以做一些类似的事情:

string = [...] 
my_dict = {} 
for k, v in string: 
    my_dict[k] = v 
+0

这可以用字典理解只用一行来完成。 –

+1

@AlexThornton我知道。但是由于看起来OP只是从Python开始,我认为逐渐开发他的解决方案是一个好主意。对于用Python开始编程的人来说,字典可能看起来很神奇...... – vz0

相关问题