Member 11436383 Ответов: 2

Получить некоторый элемент в массиве с определенным условием


Здравствуйте у меня есть вопрос:
если у меня есть этот массив : dd=[(1,'a', 2), (2, 'b', 4), (5, 'a', 4)]
я хочу получить только d1 из dd / d1=[(1, 'a', 2), (5, 'a', 4)] для dd[i][1]= 'a'
как я могу?

Что я уже пробовал:

>> & gt; d1=[dd для dd[i][1]= 'a' для i в диапазоне (0,3)]
Файл " & lt;stdin>", строка 1
d1=[dd для dd[i][1]= 'a' для i в диапазоне (0,3)]
^
SyntaxError: недопустимый синтаксис

2 Ответов

Рейтинг:
12

Peter Leow

У вас есть список кортежей, чтобы получить те кортежи, вторым элементом которых является "а", используйте понимание списка следующим образом:

dd=[(1,'a',2),(2,'b',4),(5,'a',4)]

d1=[x for x in dd if x[1] == 'a']

print (d1)
Вы должны получить
[(1, 'a', 2), (5, 'a', 4)]


Рейтинг:
0

Richard MacCutchan

Видеть Питон учебник — документации Python 3.4.5 [^].

Используйте понимание списка, например:

[x for x in dd if x[1]=='a']
что дает: [(1, 'a', 2), (5, 'a', 4)]


Member 11436383

Спасибо

Richard MacCutchan

Я настоятельно рекомендую вам пойти и поработать над учебником. Вы узнаете гораздо больше, чем просто разместите здесь вопросы.

Member 11436383

Итак, этот сайт предназначен для: ?

Richard MacCutchan

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