У меня есть список кортежей
[('fish', 100),
('cat', 1000),
('dog', 800)]
Я хочу внести в список первый элемент каждого кортежа.
animals = []
for i in data:
animals.extend(i[0])
print(animals)
Получил такой результат ['f', 'i', 's', 'h', ' ', 'c', 'a', 't', ' ', 'd', 'o', 'g']
Я ожидал ['fish', 'cat', 'dog']
Я могу напечатать идеальный результат с
for i in data:
print(i[0])
Но хотелось бы сохранить список.
2 ответа
Extend примет строку как список, поэтому попробуйте .append()
:
animals = []
for i in data:
animals.append(i[0])
print(animals)
Лучше понимание списка
animals = [i[0] for i in data]
Вам следует использовать append
вместо extend
. extend
добавляет в список все элементы итерации.
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.