Python: Get the first character of the first string in a list?

598,107

Solution 1

You almost had it right. The simplest way is

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

but

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

would also work.

You want to end after the first character (character zero), not start after the first character (character zero), which is what the code in your question means.

Solution 2

Get the first character of a bare python string:

>>> 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

Get the first character from a string in the first position of a python list:

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

Numpy operations are very different than python list operations.

Python has list slicing, indexing and subsetting. Numpy has masking, slicing, subsetting, indexing.

These two videos cleared things up for me.

"Losing your Loops, Fast Numerical Computing with NumPy" by PyCon 2015: https://youtu.be/EEUXKG97YRw?t=22m22s

"NumPy Beginner | SciPy 2016 Tutorial" by Alexandre Chabot LeClerc: https://youtu.be/gtejJ3RCddE?t=1h24m54s

Solution 3

Indexing in python starting from 0. You wrote [1:] this would not return you a first char in any case - this will return you a rest(except first char) of string.

If you have the following structure:

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

And want to get fist char for the first one string(item):

myList[0][0]
>>> b

If all first chars:

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

If you have a text:

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

Solution 4

Try mylist[0][0]. This should return the first character.

Share:
598,107

Related videos on Youtube

Trcx
Author by

Trcx

Updated on July 08, 2022

Comments

  • Trcx
    Trcx almost 2 years

    How would I get the first character from the first string in a list in Python?

    It seems that I could use mylist[0][1:] but that does not give me the first character.

    >>> mylist = []
    >>> mylist.append("asdf")
    >>> mylist.append("jkl;")
    >>> mylist[0][1:]
    'sdf'
    
  • BI Dude
    BI Dude about 5 years
    could you please explain x[0] syntax and meaning? Normally, I start loop from for
  • Artsiom Rudzenka
    Artsiom Rudzenka about 5 years
    @BIDude [x[0] for x in myList] is a list comprehension - hackernoon.com/list-comprehension-in-python-c762ba1f523f . So x[0] there means that I'd like to take each first element from each myList element.