user12757477
user12757477

Reputation:

Select certain elements from a list in python

I think that this question has been asked before, although I couldn't find an answer which fit with my query exactly.

I want to print certain elements from a list, depending on the length of an input. Example:

if anagramLength == 2:
    print(words[0,5])

I found a think called 'operator.itemgetter', although this selects individual elements, where as I want it to select all from position 0 TO position 5 (not position 0 AND position 5).

Thanks!

Upvotes: 3

Views: 167

Answers (3)

Gabio
Gabio

Reputation: 9504

You can use slicing:

if anagramLength == 2:
    print(words[:5])

Upvotes: 1

Joshua Varghese
Joshua Varghese

Reputation: 5202

Just do the correct slicing:

words[0:5]

That is, replace the , by :

if anagramLength == 2:
    print(words[0:5])

The usage words[0,5], produces an error:

TypeError: string indices must be integers

To understand why the error is caused, do the following:

>>> 0,5
(0, 5)

See, it is a tuple. You can't slice a string with a tuple, but an integer :)

Upvotes: 2

RMPR
RMPR

Reputation: 3531

You're looking for slicing.

The syntax is fairly simple:

words[start:stop]

Will print elements from start index to stop index, in your case:

print(words[0:5])

Upvotes: 1

Related Questions