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

Отримайте перший символ із рядка в першій позиції списку пітонів:

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

Багато людей тут стикаються, оскільки вони змішують оператори об'єктів списку Python та оператори об'єктів Numpy ndarray:

Операції Numpy сильно відрізняються від операцій зі списком пітонів.

Оберніть голову навколо двох суперечливих світів "нарізання списку, індексація, підмножина списку" Python, а потім "маскування, нарізання, підмножина, індексація, а потім посилене вигадливе індексування Numpy".

Ці два відео зрозуміли для мене все:

"Втрата циклів, швидкі чисельні обчислення за допомогою NumPy" від PyCon 2015: https://youtu.be/EEUXKG97YRw?t=22m22s

"NumPy Beginner | SciPy 2016 Tutorial" Олександра Шабо ЛеКлерка: https://youtu.be/gtejJ3RCddE?t=1h24m54s


14

Індексація в python, починаючи з 0. Ви писали [1:], це не поверне вам першого символу в будь-якому випадку - це поверне вам решту (крім першого символу) рядка.

Якщо у вас така структура:

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

І я хочу отримати кулаковий знак для першого рядка (елемента):

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 [x [0] для x у моєму списку] - це розуміння списку - hackernoon.com/list-comprehension-in-python-c762ba1f523f . Тож x [0] там означає, що я хотів би взяти кожен перший елемент з кожного елемента myList.
Артьом Рудзенка

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.