2016-12-11 2 views
2

文字列/ファイルを読み込んで最初の3つの単語を表示するプログラムを探しています。 Python Split()とre.split()

は、だから私は試してみました:それはタプルを受け付けないように、1つの単語を取得するために働いていた

letter= "a,b,c" 
print(letter.split(',')[0]) 

が、やって[0,1,2]は動作しません。

私はre.splitを使用して読んが、私はこれだけを管理できます。すべての文字を表示されますが、私は0,1と2任意の助けを指定する方法を考え出すことができませんでした
import re 
letter= "a,b,c" 
words = re.split((','), letter,) 
print(words) 

非常に高く評価されるだろう。

EDIT: アレイに入力するために各文字を別々に扱うにはどうすればよいですか?それはそれらをすべて1つとして扱います。

答えて

0

タプルは必要ありません。スライスが必要です。

letter.split(',')[:3] 
+0

最初の3つの単語で印刷してください。 '[:3]' – bunji

+0

はい、申し訳ありません。 –

+0

リストを印刷せずにCSVを実行したい場合は 'print( '、' .join(letter.split( '、')[:3]))' –

1

文字列分割アプローチ

str.split()戻るよう[0]戻り、リストの最初の項目にアクセスリスト。だから、スライス

[x:y]xが0とy x<= range < y0,1,2すなわちリスト項目、あなたの最初のアプローチを使用しているので、

letter.split(',')[0:3]

正規表現の分割を意味する3ていることが、あなたが使用する必要がある最初の3項目にアクセスするにはアプローチ

同じことが適用されますre.split() function あなたができるようにリストを返します最初の3文字をwords[0:3]

+0

どのようにして各文字を別々に扱うことができますか?配列に入力しますか?それはそれらをすべて1つとして扱います。 –

+0

私はあなたの意見を得ていないか、 'x = input()'のようなものを意味します。 'list(x)' @AndrewBlair –

+0

もしあれば。 x = "a、b、c" MyList [] MyList.append(x)print(MyList [1])これは "b"を表示します。 x = letter.split( '、')[0:3]を作成してprint(MyList [1])を実行すると、インデックスエラーが発生します。 –