сложить элементы списка python

Есть список песен группы Depeche Mode со временем звучания с точностью до долей минут

violator_songs_list = [
    ['World in My Eyes', 4.86],
    ['Sweetest Perfection', 4.43],
    ['Personal Jesus', 4.56],
    ['Halo', 4.9],
    ['Waiting for the Night', 6.07],
    ['Enjoy the Silence', 4.20],
    ['Policy of Truth', 4.76],
    ['Blue Dress', 4.29],
    ['Clean', 5.83],
]

# распечатайте общее время звучания трех песен: 'Halo', 'Enjoy the Silence' и 'Clean' в формате
#   Три песни звучат ХХХ минут
# Обратите внимание, что делать много вычислений внутри print() - плохой стиль.
# Лучше заранее вычислить необходимое, а затем в print(xxx, yyy, zzz)

TODO здесь ваш код

ума не приложу как это сделать


Ответы (1 шт):

Автор решения: Александр
violator_songs_list = [
['World in My Eyes', 4.86],
['Sweetest Perfection', 4.43],
['Personal Jesus', 4.56],
['Halo', 4.9],
['Waiting for the Night', 6.07],
['Enjoy the Silence', 4.20],
['Policy of Truth', 4.76],
['Blue Dress', 4.29],
['Clean', 5.83],
]

def main():
    variable = 0
    for i in violator_songs_list:
        print(i[0])
        if i[0] == 'Halo':
            variable += i[1]
        elif i[0] == 'Enjoy the Silence':
            variable += i[1]
        elif i[0] == 'Clean':
            variable += i[1]
    print(f"Три песни звучат {variable} минут")

    # Ещё можно так но не уверен что правильно
    names = ['Halo', 'Clean','Enjoy the Silence']
    total = sum([l for  n, l in violator_songs_list if n in  names])
    print(f"Три песни звучат {total} минут")


if __name__ == '__main__':
    main()
→ Ссылка