私はPythonを初めて使用し、あるリストから別のリストに間隔を空けてアイテムを追加しようとしています。これまでの私のコードは次のとおりです。
def place_item(a,b):
interval = (4,8)
for s in a:
i = a.index(s)
b[i:i] = [s]
print b
a = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
b = [''] * (3*26)
place_item(a,b)
私が得た結果は、リスト内の最初の26文字とそれに続く52''スペースです。これは、「リストa」を複数回作成したり、アイテムを「リストa」に配置したりするように依頼していないため、意味があります。上記のリストの後の4〜8スペースの間隔。つまり、基本的には、「リストa」をループして、4スペースと8スペース離れた「リストb」全体にその文字を散在させようとしています。そして、私はこれを行う方法がわかりません:(。何かアイデアはありますか?
編集:私が忘れていたすべての人が私に指摘したことを含めます。アイテム間のスペースは、アイテムごとにランダムに選択される4〜8文字の長さにする必要があります。結果は次のようになります。
['a','','','','','','b','','','','','','','c','','','','','d'...]
編集2:blob8108は、この方法を使用するとすぐにスペースが不足することを指摘しました。一部の文字を通常の順序で配置し(「a」、「b」、「c」、「d」など)、他の文字をそれらの最初の文字から離しておくことは可能でしょうか(たとえば、「e」、「f」 '、' g'は'a'から4〜8スペース移動しますが、' h'、' i'、' j'は'b'から4〜8スペース移動します)?結果は次のようになります。
['a','b','c','d','g','e','h','i',etc.]