9 リスト3を取得する最短の方法(可能な限り文字)を取得しようとしています。 リスト1とリスト2はすでに引数として指定されており、長さは同じです。 l1 = [1, 2, 3, 4, 5] l2 = ['a', 'b', 'c', 'd', 'e'] リスト3は次のようになります(はい、リストである必要があります)。 l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5] code-golf tips python — マティアス ソース 2 特定のリストには、あなたの目標は、文字通り出力することですl3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]与えられたl1 = [1, 2, 3, 4, 5]とl2 = ['a', 'b', 'c', 'd', 'e']、既に割り当てられた、またはアイデアはあることl1とl2同じ長さの任意の二つのリストだろうか? — xnor 2018
13 ジップアンドサム [*sum(zip(l2,l1),())] オンラインでお試しください! 2つのリストを一緒に圧縮してから、すべてのタプルを追加して、1つの結合リストを作成します。リストが同じサイズであることが保証されている場合にのみ、zipは機能します。それ以外の場合は、長いリストが切り捨てられます。 [* ]FryAmTheEggmanが提案するように、リストをリストに変換するための周囲を追加しました。 — ジョーキング ソース 2 Python 2を使用している場合listは[* (...) ]、+ 3バイトの代わりに使用できます。 — Erik the Outgolfer 2018
6 スライスの割り当て c=a*2 c[1::2]=a c[::2]=b これはJo Kingのソリューションを使用する場合より3バイト長くなりますc=[*sum(zip(b,a),())]が、気の利いたものです。状況によっては短くなる可能性があります(ただし、どこにあるかはわかりません)。 — リン ソース
l3 = ['a', 1, 'b', 2, 'c', 3, 'd', 4, 'e', 5]
与えられたl1 = [1, 2, 3, 4, 5]
とl2 = ['a', 'b', 'c', 'd', 'e']
、既に割り当てられた、またはアイデアはあることl1
とl2
同じ長さの任意の二つのリストだろうか?