python中可以用中文作为变量-在python字典中使用变量作为键名

?s=32Tyson

我今天来是因为我有同样的问题。我必须说,我对答案很失望!我同意你的看法,这种冗余应该有一个惯用的解决办法。在这种情况下,Javascript似乎比Python更明智。所以我想补充两个建议。

首先,要说Abarnert是正确的,如果它只是一个或两个变量,那么应该显式。我想说的是,即使它不止于此,显式构造通常会更好。但我确实认为有些情况下,捷径是允许的。例如,我有一个文件,它构建字典,通过Python请求发送数据。就这样。在的每一个案例中,我最终制作了一个字典,其中的键与我定义的变量相同。我认为这是一个可以接受快捷方式的文件示例。

首先,可以使用内置的eval。通常避免使用此命令,但在这种情况下,它可以提供帮助,因为它可以接受一个字符串(变量名),并输出变量值:def main():

#variables

foo = "hello world"

bar = 10

baz = [1, 2, 3]

# Build the dictionary:

args = ("foo", "bar", "baz")

dictionary = dict()

for arg in args:

dictionary[arg] = eval(arg)

print(dictionary)

if __name__ == "__main__":

main()

试试看。请注意,由于范围可变,很难将此功能包装成某种类或函数。即使使用字典理解也会失败。但如果你乐意在这样一个函数中添加3行,它就会工作。

其次,考虑在构建字典时是否可以将值赋给变量。所以不是:foo = 4+5

dictionary = dict(foo=foo)

尝试:dictionary = dict(

foo=4+5

)

如果需要在以后的计算中使用前面的值,请先初始化字典,然后将计算与dict赋值结合起来:dictionary = dict()

dictionary['foo'] = 4 + 5

dictionary['bar'] = dictionary['foo'] + 9

我认为,在上述情况下,新的PEP可能也有帮助,它允许您在计算中指定别名。BDFL辞职的那个。所以让我们希望它能很快实现!

最后,简单地评论一下接受的答案,Python已经使用{}来表示set,这并不意味着我们不能创建这个功能(为什么不能<>或D()或其他什么东西?)。就我的2美分。我认为这是一个必要的功能。

赞踩评论- 2020年3月31日 17:49

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值