[(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]
Как вернуть 2-е значение из каждого кортежа внутри этого списка?
[(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]
Как вернуть 2-е значение из каждого кортежа внутри этого списка?
Со списком.
[x[1] for x in L]
Ответ Игнасио - это то, что вы хотите. Однако, поскольку кто-то также изучает Python, позвольте мне попытаться проанализировать его для вас... Как уже упоминалось, это понимание списка (описано в DiveIntoPython3, например). Вот несколько моментов:
[x[1] for x in L]
[]
вокруг строки кода. Это то, что определяет список. Это говорит о том, что этот код возвращает список, поэтому он имеет тип list
. Следовательно, этот метод называется "пониманием списка".L = [(1,2),(2,3),(4,5),(3,4),(6,7),(6,7),(3,8)]
.x
- это переменная, которая существует только в понимании - попробуйте получить доступ к x
вне понимания или введите type(x)
после выполнения указанной выше строки и сообщит вам NameError: name 'x' is not defined
, тогда как type(L)
возвращает <class 'list'>
.x[1]
указывает на второй элемент в каждом из кортежей, тогда как x[0]
будет указывать на каждый из первых элементов.Трудно сказать, насколько вы пытались решить проблему до того, как задали вопрос, но, возможно, вы просто не были знакомы с пониманием? Я потратил бы некоторое время на чтение Глава 3 DiveIntoPython или любой ресурс на понимание. Удачи.
Постижение списка - это абсолютно способ сделать это. Другой способ, который должен быть быстрее, - map
и itemgetter
.
import operator
new_list = map(operator.itemgetter(1), old_list)
В ответ на комментарий, что OP не смог найти ответ на google, я укажу наивысший способ сделать это.
new_list = []
for item in old_list:
new_list.append(item[1])
Это использует:
append
в списке.Если кто-то пытается выучить язык и не может собрать эти основные части для себя, тогда они должны рассматривать его как упражнение и делать это сами, даже если ему требуется двадцать часов.
Нужно научиться думать о том, что нужно, и сравнить с доступными инструментами. Каждый элемент моего второго ответа должен быть рассмотрен в базовом учебном пособии. Вы не можете научиться программировать без чтения.
Могу я предложить:
Нормальные Matloff Quick Python Tutorials
Перейдите в раздел "Кортежи". У вас будет свой ответ, а также превосходное руководство по изучению основ Python.