2016-07-22 8 views
0

forループを試しましたが、一度に辞書から "n"個の行を印刷する方法を考え出すことはできません。Python forループで一度にx行を一括印刷する方法

{'majorkey1': [{'name':'j','age':'3','height':'6feet'}, 
{'name':'r','age':'4','height':'5feet'}, 
{'name':'o','age':'5','height':'3feet'}], 
'majorkey2':[{'name':'n','age':'6','height':'4feet'}, 
{'name':'s','age':'7','height':'7feet'}, 
{'name':'q','age':'7','height':'8feet'}]} 

これは一回(望ましくない)にすべてを印刷します:私は

例ソース...ので、私の専門用語や表現をご容赦くださいプログラミングに新しいです

for majorkey in readerObj.keys(): 
    for idx, line in enumerate(readerObj.get(majorkey)): 
     print line 

{'name':'j','age':'3','height':'6feet'} 
{'name':'r','age':'4','height':'5feet'} 
{'name':'o','age':'5','height':'3feet'} 
{'name':'n','age':'6','height':'4feet'} 
{'name':'s','age':'7','height':'7feet'} 
{'name':'q','age':'7','height':'8feet'} 

私はこれを読みやすくするためのコードがたくさんありました。私が望む動作は、指定された行数に従って印刷することです。今のところ私はlines_to_execute = 2を使用します。私はこのブロックを書き直すのを最小限に抑えるため、できるだけコードを近くにしたいと思います。この回答から、コードを変更して一度にチャンク()を実行するようにコードを修正します。

私は近くに滞在したい

コードブロック:私は一度に2つの行または列を印刷したい場合は、この例の場合、ここにも

for majorkey in readerObj.keys(): 
    lines_to_execute = 2 
    start_idx_position = 0 
    range_to_execute = lines_to_execute 
    for idx[start_idx_position:range_to_execute], line in enumerate(readerObj.get(majorkey)): 
     print line 
     increment start_idx_position by lines_to_execute 
     increment range_to_execute by lines_to_execute 
     time.sleep(1) 

病気ミックスpsudoコード、出力だろう以下のようになります。

所望の出力:

{'name':'j','age':'3','height':'6feet'} 
{'name':'r','age':'4','height':'5feet'} 

1秒の遅延...

{'name':'o','age':'5','height':'3feet'} 
{'name':'n','age':'6','height':'4feet'} 

1秒2と同様に複数回実行されませんようご注文は重要ではありませんディレイ。

{'name':'s','age':'7','height':'7feet'} 
{'name':'q','age':'7','height':'8feet'} 

これは十分な情報です。

答えて

0
from pprint import pprint 
import time 

for key in obj.keys(): 
    lines_to_execute = 2 
    pprint(obj[key][:lines_to_execute]) # that's all you need 
    time.sleep(1) 

可能な限り単純にしてください。

+0

正確に何が必要なのですか?ありがとうございました! – New2Python

関連する問題