Как выбрать значения из списка по части ключевого слова

Kanabass

Новичок
Пользователь
Апр 9, 2021
8
0
1
Здравствуйте. Ребят, помогите пожалуйста. Список такого формата и очень длинный. Он содержит имя валюты и ее стоимость. Мне нужно из него выбрать те валютные пары, которые частично содержат в ключе 'symbol' , например, BTC и вывести название и цену такой валюты в отдельную переменную. Не знаю даже как толком объяснить. Короче в итоге мне нужно, чтобы программа мне вывела на экран все валюты в названии которых есть ***BTC и цену каждой этой валюты.

Пример вывода конкретно из этого списка (в рабочем варианте валют гораздо больше):
LTCBTC - 0.00389500
BNBBTC - 0.00784470
NEOBTC - 0.00102400
BCCBTC - 0.07908100

При этом все это должно обновляться раз в секунду в GUI tkinter, а так же список этот может периодически меняться (валюты могут добавляться или удаляться на бирже, поэтому список сервером может присылаться разный). Я понимаю, что тут принято скидывать свои попытки кода, а народ уже потом исправляет. Но я прям нуб, свои попытки скидывать просто стыдно ))) Так же понимаю, что "напишите код за меня" тоже никому не нравится, поэтому предлагаю небольшое вознаграждение, например, 500 руб на телефон тому кто сможет помочь и написать готовый код. Думаю для профи это плевое дело. Спасибо.

Можно ли из него выбрать по ключу 'symbol' все словари содержащие
Код:
[{'symbol': 'ETHBTC', 'price': '0.03573000'}, {'symbol': 'LTCBTC', 'price': '0.00389500'}, {'symbol': 'BNBBTC', 'price': '0.00784470'}, {'symbol': 'NEOBTC', 'price': '0.00102400'}, {'symbol': 'QTUMETH', 'price': '0.00748100'}, {'symbol': 'EOSETH', 'price': '0.00305400'}, {'symbol': 'SNTETH', 'price': '0.00008579'}, {'symbol': 'BNTETH', 'price': '0.00333400'}, {'symbol': 'BCCBTC', 'price': '0.07908100'}]
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 566
454
83
можно так
Python:
lst = [{'symbol': 'ETHBTC', 'price': '0.03573000'}, {'symbol': 'LTCBTC', 'price': '0.00389500'},
       {'symbol': 'BNBBTC', 'price': '0.00784470'}, {'symbol': 'NEOBTC', 'price': '0.00102400'},
       {'symbol': 'QTUMETH', 'price': '0.00748100'}, {'symbol': 'EOSETH', 'price': '0.00305400'},
       {'symbol': 'SNTETH', 'price': '0.00008579'}, {'symbol': 'BNTETH', 'price': '0.00333400'},
       {'symbol': 'BCCBTC', 'price': '0.07908100'}]

for i in lst:
    if 'BTC' in i['symbol']:
        result = list(i.values())
        print(result[0], '-', result[1])

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

UPD
подправил вывод, как в вопросе...
 
Последнее редактирование:

Форум IT Специалистов