如何在python中将一个变量的名称更改为另一个变量的值

2024-04-24 22:39:10 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有一种方法可以在循环中用python生成变量名并给它们赋值 ? 例如,如果我有

我把名单列为

     [{'symbol': 'ETHBTC', 'price': '0.03675300'},
     {'symbol': 'LTCBTC', 'price': '0.00838900'},
     {'symbol': 'BNBBTC', 'price': '0.00152680'},........]

我要变量值作为

     ETHBTC.price = 0.03675300
     LTCBTC.price = 0.00838900
     BNBBTC.price = 0.00152680


     and soo on....

我试过这个

但是我怎样才能把x1的名字改成etc呢_btc值你知道吗

for x in range(431):
    y = prices[x]
    eth_btc = Namespace(**y)
    eth_btc.price = float(eth_btc.price)
    print(eth_btc.price,eth_btc.symbol)
    x1 = eth_btc.symbol
    x1 = eth_btc.price

Tags: and方法onsymbol名字priceethbtc
1条回答
网友
1楼 · 发布于 2024-04-24 22:39:10

如前所述,动态创建变量名不是一个好主意。另一种解决方案是创建以下价格字典:

li = [
        {'symbol': 'ETHBTC', 'price': '0.03675300'},
        {'symbol': 'LTCBTC', 'price': '0.00838900'},
        {'symbol': 'BNBBTC', 'price': '0.00152680'},
    ]

prices = {}

for entry in li:
    prices.update({entry['symbol']:entry['price']})

print(prices)

退货:

{'ETHBTC': '0.03675300', 'LTCBTC': '0.00838900', 'BNBBTC': '0.00152680'}

我在这个问题的帮助下找到了你的答案:SyntaxError: keyword can't be an expression while creating a dictionary

相关问题 更多 >