に格納するには、私は私と一緒にさまざまなカテゴリの完全なリストを持っています。それはこのようになります。ここスプリットPythonの複数のリストのフィルタリングされたリスト内のリストおよび単一のリスト
bigList = [
[
{'category': 'Dog', 'name': 'Sasha'},
{'category': 'Dog', 'name': 'Bark'}
],
[
{'category': 'Cat', 'name': 'Meow'}
]
]
は、ループの反復のためのpythonのロジックです:
bigList = []
prev = ''
for s in myList:
newList = []
if s['category'] != prev:
for m in myList:
if m['category'] == s['category']:
newList.append(m)
bigList.append(newList)
prev = s['category']
これは私のためのトリックを行っているが、私は上記最適化する方法を知っているしたいと思いますより短いコードと効率的なコードのためのforループのロジック。
@roganjoshによってコメントとしてあなたがgroupby
と二段階でこれを行うことができます
は、おそらくより良い[コードレビューサイト](http://codereview.stackexchange.com/)をフィットします。 – alecxe
すぐにやります。 – xxCodexx
'itertools'、特に[' groupby']を見てください(https://docs.python.org/2/library/itertools.html#itertools.groupby) – roganjosh