簡體   English   中英

這個字典列出轉換的pythonic方法是什么?

[英]What is the pythonic way to this dict to list conversion?

例如,轉換

d = {'a.b1': [1,2,3], 'a.b2': [3,2,1], 'b.a1': [2,2,2]}

l = [['a','b1',1,2,3], ['a','b2',3,2,1], ['b','a1',2,2,2]]

我現在應該做什么

l = []
for k,v in d.iteritems():
  a = k.split('.')
  a.extend(v)
  l.append(a)

絕對不是一種pythonic方式。

Python 2:

d = {'a.b1': [1,2,3], 'a.b2': [3,2,1], 'b.a1': [2,2,2]}
l = [k.split('.') + v for k, v in d.iteritems()]

Python 3:

d = {'a.b1': [1,2,3], 'a.b2': [3,2,1], 'b.a1': [2,2,2]}
l = [k.split('.') + v for k, v in d.items()]

這些被稱為列表推導

你可以這樣做:

>>> d = {'a.b1': [1,2,3], 'a.b2': [3,2,1], 'b.a1': [2,2,2]}
>>> print([k.split(".") + v for k, v in d.items()])
[['b', 'a1', 2, 2, 2], ['a', 'b1', 1, 2, 3], ['a', 'b2', 3, 2, 1]]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM