2013-12-08 43 views
-1

我有python split()函数的问题。有人可以帮我解决这个错误,其将词典的元素和一行行返回它:Python分裂值错误

def lines_to_dict(lines): 
    return_dict = {} 
    for ll in lines: 

      [key, value] = ll.split() 
      return_dict[key] = value 

    return return_dict 

当我运行

lines = ["the :1", "and :2"] 
    print (lines_to_dict(lines)) 

给我{"the": ":1", "and": ":2"}在同一直线上。不过,我应该得到

the :1 
and :2 

我使用[键,值] = ll.split(“”)尝试,但它给了我一个错误

[key, value] = ll.split(",") 
ValueError: need more than 1 value to unpack 
+0

你感到困惑什么,如果你想打印在单独的行这些项目,您翻翻字典,需要循环问题是;你的代码创建一个字典很好,但你抱怨Python *打印字典的方式。你不能分开',',因为这只是字典显示的一部分,它不在你的文本中! – jonrsharpe

回答

2

你的函数工作得很好,它返回一个字典分析项目。

lines = ["the :1", "and :2"] 
result = lines_to_dict(lines) 
for key, value in result.items(): 
    print(key, value) 

你看到什么是字典字符串表示:

>>> result 
{'and': ':2', 'the': ':1'} 
>>> result['and'] 
':2' 
>>> for key, value in result.items(): 
...  print(key, value) 
... 
and :2 
the :1