2016-10-05 7 views
-2

私はdicts sortdのリストを持っています。リストの最初の3つのdictsを新しいリストに追加したいと思います。 リスト内包変数が定義されていませんか? (Python)

は私が初めてリストカンプを使用してみましたが、行っているとき:
new_dict = [pair for pair[0:3] in sortd] 

iは「ペアが定義されていません」というエラーを取得し、私がここで間違って何をやっていますか?

+1

'new_dict = [ソートされたペアのペア[0:3]]は、あなたが望むものに近いはずです – JMat

+0

' new_dict'はdictではありません。 – poke

+4

ちょうど 'sortd [:3]'はリストの最初の3つのdictsを与えます。理解の必要はありません。 –

答えて

0

listから最初の3つの要素を取得するには、pair[:3]を実行するだけです。この場合、リストの理解は必要ありません。

リスト内包表記は、リスト(またはdict /タプル)を反復処理して何らかのアクションを実行するための代替的かつクリーンな方法です。

あり
square_list = [item*item for item in original_list] 

:等価リスト内包の実装のようになります

square_list = [] 
original list = [1, ,2 ,3 ,4] 
for item in original_list: 
    square_list.append(item*item) 
:たとえば、として、あなたは、リスト内の要素の二乗で新しいリストを作成し、あなたのコード内のループを持っていると言うことができますリストの理解の概念を説明する素晴らしいブログ Python List Comprehensions: Explained Visuallyです。それが役に立つかもしれません。

+0

'item * item in item in ...' – Moberg