web-dev-qa-db-fra.com

Python: Obtenir le premier caractère de la première chaîne d'une liste?

Comment pourrais-je obtenir le premier caractère de la première chaîne d'une liste en Python?

Il semble que je puisse utiliser mylist[0][1:] mais cela ne me donne pas le premier caractère.

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

Vous avez presque eu raison. Le plus simple est

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

mais

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

fonctionnerait aussi.

Vous voulez fin après le premier caractère (caractère zéro), pas début après le premier caractère (caractère zéro), ce que signifie le code de votre question.

112
agf

Récupère le premier caractère d'une chaîne nue 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

Récupère le premier caractère d'une chaîne située en première position d'une liste python:

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

Beaucoup de gens se font avoir ici parce qu'ils mélangent les opérateurs de Python liste des objets et les opérateurs des objets Numpy ndarray:

Les opérations Numpy sont très différentes des opérations de liste python.

Entourez votre esprit des deux mondes en conflit de "découpage, indexage, sous-ensemble" de Python, puis de "masquage, découpage, sous-ensemble, indexation, puis d'indexation sophistiquée" de Numpy.

Ces deux vidéos ont clarifié les choses pour moi:

"Perdre ses boucles, calcul numérique rapide avec NumPy" par PyCon 2015: https://youtu.be/EEUXKG97YRw?t=22m22s

"NumPy Débutant | SciPy 2016 Tutorial" par Alexandre Chabot LeClerc: https://youtu.be/gtejJ3RCddE?t=1h24m54s

19
Eric Leschinski

Indexation dans python à partir de 0. Vous avez écrit [1:] cela ne vous renverrait en aucun cas un premier caractère - cela vous retournera un reste (sauf le premier caractère) de chaîne.

Si vous avez la structure suivante:

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

Et voulez obtenir le caractère de poing pour la première chaîne (item):

myList[0][0]
>>> b

Si tous les premiers caractères:

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

Si vous avez un texte:

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

Essayez mylist[0][0]. Cela devrait retourner le premier caractère.

4
Constantinius