Python:リストの最初の文字列の最初の文字を取得しますか?


96

Pythonのリストの最初の文字列から最初の文字を取得するにはどうすればよいですか?

使用できそうmylist[0][1:]ですが、最初のキャラは出ません。

>>> mylist = []
>>> mylist.append("asdf")
>>> mylist.append("jkl;")
>>> mylist[0][1:]
'sdf'

回答:


138

ほぼ正しかった。最も簡単な方法は

mylist[0][0]   # get the first character from the first item in the list

だが

mylist[0][:1]  # get up to the first character in the first item in the list

も動作します。

質問のコードが意味する最初の文字(文字ゼロ)の後に開始するのではなく、最初の文字(文字ゼロ)の後に終了する必要があります。


30

裸のpython文字列の最初の文字を取得します。

>>> mystring = "hello"
>>> print(mystring[0])
h
>>> print(mystring[:1])
h
>>> print(mystring[3])
l
>>> print(mystring[-1])
o
>>> print(mystring[2:3])
l
>>> print(mystring[2:4])
ll

Pythonリストの最初の位置にある文字列から最初の文字を取得します。

>>> myarray = []
>>> myarray.append("blah")
>>> myarray[0][:1]
'b'
>>> myarray[0][-1]
'h'
>>> myarray[0][1:3]
'la'

Pythonリストオブジェクトの演算子とNumpy ndarrayオブジェクトの演算子を混同しているため、多くの人がここでつまずきます。

Numpyの操作は、Pythonのリストの操作とは大きく異なります。

Pythonの「リストのスライス、インデックス付け、サブセット化」、次にNumpyの「マスキング、スライス、サブセット化、インデックス付け、そしてnumpyの高度なファンシーインデックス付け」という2つの相反する世界に頭を抱えます。

これらの2つのビデオは、私にとって問題を解決しました。

「Losing your loops、Fast Numerical Computing with NumPy」PyCon 2015:https ://youtu.be/EEUXKG97YRw ? t=22m22s

AlexNumre Chabot LeClercによる "NumPy Beginner | SciPy 2016 Tutorial":https ://youtu.be/gtejJ3RCddE ? t=1h24m54s


14

pythonでの0からのインデックス作成。[1:]と記述した場合、これはどのような場合でも最初の文字を返しません。これは文字列の残り(最初の文字を除く)を返します。

次のような構造の場合:

mylist = ['base', 'sample', 'test']

そして、最初の1つの文字列(アイテム)の最初の文字を取得したい:

myList[0][0]
>>> b

最初の文字がすべて:

[x[0] for x in myList]
>>> ['b', 's', 't']    

テキストがある場合:

text = 'base sample test'
text.split()[0][0]
>>> b

x [0]の構文と意味を説明していただけますか?通常、私はforからループを開始します
BI Dude

1
@BIDude [myListのxのx [0]]はリスト内包です-hackernoon.com/list-comprehension-in-python-c762ba1f523f。つまり、x [0]は、各myList要素から最初の各要素を取得することを意味します。
Artsiom Rudzenka

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.