2012-10-05 37 views

Trả lời

32
a = [ 'abc=lalalla', 'appa=kdkdkdkd', 'kkakaka=oeoeoeo'] 
d = dict(s.split('=') for s in a) 
print d 


Output: 
{'kkakaka': 'oeoeoeo', 'abc': 'lalalla', 'appa': 'kdkdkdkd'} 

http://codepad.org/bZ8lGuHE

+0

Cảm ơn bạn rất nhiều – Vor

+0

Không phải lo lắng, hth. –

6
print dict([s.split("=") for s in my_list]) 

như thế này

>>> my_list = [ 'abc=lalalla', 'appa=kdkdkdkd', 'kkakaka=oeoeoeo'] 
>>> print dict(s.split("=") for s in my_list) #thanks gribbler 
{'kkakaka': 'oeoeoeo', 'abc': 'lalalla', 'appa': 'kdkdkdkd'} 
+0

Thank you very much – Vor

+2

Trừ python của bạn là rất cũ, bạn có thể rời khỏi danh sách hiểu ra và sử dụng một biểu thức máy phát điện như Demian không –

+0

nhờ gribbler :) Tôi sử dụng 2.6 và luôn quên tôi có thể làm điều đó .. chủ yếu là bởi vì tôi không thể làm dict comprehensions –

9

Bên cạnh đó, chắc chắn rằng bạn hạn chế việc chia tách đến 1, trong trường hợp các bên phải chứa một '= '.

d = dict(s.split('=',1) for s in a) 
Các vấn đề liên quan