7

I have a list of tuples as follows:

values = [('1', 'hi', 'you'), ('2',' bye', 'bye')]

However, the first element of each tuple is not needed. The desired output is:

[('hi', 'you'), (' bye', 'bye')]

I've done enough research to know I can't manipulate tuples but I can't seem to find an answer on how to successfully remove the first element of each tuple in the list.

Georgy
  • 9,972
  • 7
  • 57
  • 66
user47467
  • 989
  • 2
  • 13
  • 32

2 Answers2

13

Firstly tuple is immutable.

Secondly try this approach using a list comprehension:

a_list = [el[1:] for el in values]

Check slice notation.

Georgy
  • 9,972
  • 7
  • 57
  • 66
xiº
  • 4,337
  • 3
  • 25
  • 38
0

You could use the following list comprehension if tuples are not required:

a_list = [a_tuple[1:] for a_tuple in values]
print(a_list)

This would print the following:

[('hi', 'you'), (' bye', 'bye')]
Georgy
  • 9,972
  • 7
  • 57
  • 66
Martin Evans
  • 43,220
  • 16
  • 78
  • 90