Python:获取列表中第一个字符串的第一个字符?


96

如何从Python列表中的第一个字符串中获取第一个字符?

看来我可以使用,mylist[0][1:]但不能给我第一个字符。

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

Answers:


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的增强式花式索引”这两个相互冲突的世界。

这两个视频为我清除了一切:

PyCon 2015撰写的“使用NumPy消除循环,快速进行数值计算”:https ://youtu.be/EEUXKG97YRw ? t = 22m22s

Alexandre Chabot LeClerc撰写的“ NumPy初学者| SciPy 2016教程”:https ://youtu.be/gtejJ3RCddE ? t = 1h24m54s


14

从0开始在python中建立索引。您编写了[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]的语法和含义吗?通常情况下,我从开始循环
BI多德

1
@BIDude [myList中x的x [0] [x [0]]是一个列表理解-hackernoon.com/list-comprehension-in-python-c762ba1f523f。所以x [0]表示我想从每个myList元素中获取每个第一个元素。
Artiom Rudzenka '19

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.