2015-11-09 2 views
-2

Я новичок в Python. Представьте, что у нас есть список таких: [(1,0.2), (2,4.8), (5,5.6)] Я хочу получить все элементы левой стороны, чтобы у меня был такой список: [1 , 2,5] Мне интересно, как я могу это сделать. БлагодаряПолучение определенных элементов в списке в python

+1

Добро пожаловать в переполнение стека! Кажется, вы просите кого-нибудь написать для вас какой-то код. Переполнение стека - это вопрос и ответ, а не служба написания кода. Пожалуйста, [см. Здесь] (http://stackoverflow.com/help/how-to-ask), чтобы узнать, как писать эффективные вопросы. –

+0

'[i [0] для i в lst]' –

ответ

3

Вы можете использовать список понимание о как:

example = [(1,0.2), (2,4.8), (5,5.6)] 
[x[0] for x in example] 

, которые в основном итерация через все элементы, и захватывают первый элемент в каждом кортеже, и создает новый массив из него.

2
m = [(1,0.2), (2,4.8), (5,5.6)] 

out_list = [] 
for element in m: 
    out_list.append(element[0]) 
print out_list 

Вы должны перемещаться через все elements из m, затем, возьмите первый номер с element[0] и добавить его в новый список под названием out_list

код выведет

[1,2,5] 

Вы можете сделать это более шикарно, используя list comprehension следующим образом:

out_list = [element[0] for element in m ] 
print out_list 
0

Большинство людей предлагают понимание списка как решение вашей проблемы, и это здорово. Но python может делать то же самое с помощью разных подходов. Недавно я узнал, как «распаковать» список, и техника подходит именно к вашей проблеме.

zipped = [(1,0.2), (2,4.8), (5,5.6)] 
list(zip(*zipped)[0]) 

В this потоке, люди объяснили, как это работает. Надеюсь, вы получите что-то от этого. Добро пожаловать в мир питонов!