Как мне получить первый символ из первой строки в списке в Python?
Кажется, я мог бы использовать, mylist[0][1:]
но это не дает мне первого символа.
>>> mylist = []
>>> mylist.append("asdf")
>>> mylist.append("jkl;")
>>> mylist[0][1:]
'sdf'
Ответы:
Вы почти все сделали правильно. Самый простой способ
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
тоже будет работать.
Вы хотите заканчивать после первого символа (нулевой символ), а не начинать после первого символа (нулевой символ), что означает код в вашем вопросе.
Получите первый символ пустой строки 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».
Эти два видео прояснили для меня ситуацию:
«Потеря петель, быстрые численные вычисления с NumPy» от PyCon 2015: https://youtu.be/EEUXKG97YRw?t=22m22s
«NumPy Beginner | SciPy 2016 Tutorial» Александра Шабо Леклерка: https://youtu.be/gtejJ3RCddE?t=1h24m54s
Индексирование в 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
Попробуй mylist[0][0]
. Это должно вернуть первый символ.