Python возвращает элемент подсписка, если данный элемент присутствует в этом подсписке - PullRequest
0 голосов
/ 25 октября 2018

Как заставить Python возвращать это:

list = [['a', 23, 'h401'], ['f', 45, 'h403'], ['g', 56, 'h401']]

Если в качестве входных данных указано 'h401', оно должно вернуть общее количество чисел в индексе [1] подсписков с 'h401'

>>> 79                 #(23 + 56)

так же, как если бы было дано 'h403 ', он должен вернуть [1] подсписка с 'h403', который равен 45

Ответы [ 2 ]

0 голосов
/ 25 октября 2018
inp = input("input code")
mlist = [['a', 23, 'h401'], ['f', 45, 'h403'], ['g', 56, 'h401']]
count = 0
for i in range (len(mlist)):
    if (mlist[i][2] == inp):
        count += mlist[i][1]

print(count)
0 голосов
/ 25 октября 2018

Вы можете использовать выражение, чтобы выбрать второй элемент, только если ваш третий элемент равен h401 и суммировать их.

l = [['a', 23, 'h401'], ['f', 45, 'h403'], ['g', 56, 'h401']]

sum(i[1] for i in l if i[2] == 'h401')

Если вы просто хотите проверить, чтобы ваш целевой элемент был в списке, вы можете использовать:

sum(i[1] for i in l if 'h401' in i)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...