python-3.x - 如何从字典列表中获取值 - Python 3.7.1

标签 python-3.x bitcoin cryptocurrency

我的字典列表有问题。我需要从以下列表中获取比特币的价格(该列表较长,但我为了这条消息而删减了它):

tickerlist = [{'symbol': 'ETHBTC', 'price': '0.03756600'},
            {'symbol': 'LTCBTC', 'price': '0.00968200'},
            {'symbol': 'BNBBTC', 'price': '0.00164680'},
            {'symbol': 'NEOBTC', 'price': '0.00230000'},
            {'symbol': 'QTUMETH', 'price': '0.01587100'},
            {'symbol': 'EOSETH', 'price': '0.01875000'},
            {'symbol': 'SNTETH', 'price': '0.00013221'},
            {'symbol': 'BNTETH', 'price': '0.00445000'},
            {'symbol': 'BCCBTC', 'price': '0.07908100'},
            {'symbol': 'GASBTC', 'price': '0.00064300'},
            {'symbol': 'BNBETH', 'price': '0.04389800'},
            {'symbol': 'BTCUSDT', 'price': '3954.63000000'}]

目标是获得以下结果:

BTCUSDT = 3954.63000000

我编写了以下菜鸟代码来实现我的目标:

x = tickerlist[11]
BTCUSDT = x["price"]
print(BTCUSDT)

由于我感兴趣的字典列表(位置11)中的顺序:{'symbol': 'BTCUSDT', 'price': '3954.63000000'}将来可能会改变, 我想知道是否有一个函数,我只需插入“BTCUSDT”,它就会返回价格(“3954.63000000”)。

我在 stackoverflow 上找到了完整的列表,但我没能让它发挥作用。

你有什么想法吗?

我使用的是 Python 3.7.1

最佳答案

您可以将 next 函数与生成器表达式结合使用,该表达式遍历 tickerlist 来查找匹配的符号:

try:
    BTCUSDT = next(ticker['price'] for ticker in tickerlist if ticker['symbol'] == 'BTCUSDT')
except StopIteration:
    raise RuntimeError('No matching symbol found')

关于python-3.x - 如何从字典列表中获取值 - Python 3.7.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54118637/

相关文章:

python - 如何从字符串末尾提取数字

ruby-on-rails - 在 Heroku 上接受比特币

python - 比特币地址的 Base58Check 编码太长

blockchain - 如何检查 NFT 是否在特定钱包中

python - 尝试扩展行数据并转换为 DataFrame,出现此错误 : AttributeError: 'float' object has no attribute 'keys'

python - 当我从空闲状态导入 `http.server` 时它可以工作,但是当我运行具有 `import http.server` 的 python 文件时出现错误

python-3.x - python 3.6 *记录模块错误* UnicodeEncodeError : 'charmap' codec can't encode characters

Python 的 recvfrom() 函数不返回任何数据

c - OpenSSL i2o_ECPublicKey 不工作

javascript - 如何通过交易哈希知道交易中使用的加密货币?