-6

多くの人が質問を理解していないようです。私はそれをより明確にします。

私はリストを手に入れました:

List_1 = [1,2,3,4,5,6,7,8,9]

私のプログラムで私がしていることは、List_1[0] を X にする 1 を押すか、何を押しても X に変わるということです。私のリストには合計 9 つの数字があります。

私がやりたいことは、IF 3 の特定の数値が X に変換され、プログラムが次に進むことです。

だから私が終わったら:

List_1 = [1,'X',3,4,'X',6,'X',8,9]

その後、プログラムは次に進みます。

4

2 に答える 2

3

連続したセット (元の質問の最初の 3 つのエントリなど) が必要な場合は、スライス構文を使用します。

list_2 = a[:3]

特定のセットの要素のみが必要な場合は、内包表記を使用します。

stuff_i_need = [1, 'gg']
list_2 = [x for x in L if x in stuff_i_need]

(ただし、必要なものが分かっていて、リストが非常に小さい場合は、必要な要素を含むリスト内の場所に手動でアクセスするだけで問題ありません)。

リストの一部のコンテンツの文字列を作成する場合、1 つのオプションは、それらを自分で連結し、要素を文字列コンストラクターでラップすることstrです。

str(L[0]) + str(L[3])

同じことを行う別の方法は次のとおりです。

import operator
reduce(operator.add, map(str, L))

# Also, just replace L with any of the slicing or accessing mentioned above.
于 2013-10-23T14:05:12.310 に答える
1

他の回答やコメントで述べたように、スライスを使用してください。ただし、インデックスが連続していない場合は、リスト内包表記を次のように使用できますenumerate

>>> [x for i, x in enumerate(a) if i in [0, 1, 3]]
[1, 'X', 'X']

アップデート

質問が変わり、代わりに、リストのさまざまな部分を取得してそれらを文字列に結合する方法を尋ねました。上記の小さな変更:

>>> "".join(str(x) for i, x in enumerate(L) if i in [0, 3])
'1gg'
于 2013-10-23T14:08:58.673 に答える