2024-04-29 03:53:47 发布
网友
我试图在Python中找到一个等效的ES6特性。在
在JS中,我有这样的东西:
let obj = {['composed' + objKey()]: true}
我希望能够在Python的dict构造函数中编写字典键,类似于: 在
[getAuthor()]应生成该函数返回值的字典键。或者如果它是变量,它的值,等等。。。在
[getAuthor()]
在Python中有这样的方法吗?在
我试过做dict=('%s' % (variable,)=self.content,但结果出错了。在
dict=('%s' % (variable,)=self.content
就像在JavaScript中使用对象文本一样,您应该在Python中使用字典文本。这在Python中是完全等效的:
def objKey(): return 'foo' obj = { 'composed' + objKey(): True } print(obj['composedfoo']) # True
或者在你的实际情况中:
正如Jon在评论中强调的那样,JavaScript对象文本和Python dict文本之间的最大区别在于Python对键的行为基本上是JavaScript默认使用[]的行为。在
[]
因此,要在JavaScript中翻译{ [expr]: value },可以用Python编写{ expr: value }。但是当你用JavaScript写{ key: value }时,你必须理解它本质上是一个{ ['key']: value },这使得它等价于Python中的{ 'key': value }。在
{ [expr]: value }
{ expr: value }
{ key: value }
{ ['key']: value }
{ 'key': value }
之所以需要字符串文本作为字符串键,是因为Python字典可以有几乎任意的key对象,并且不像JavaScript对象那样仅限于字符串键。在
就像在JavaScript中使用对象文本一样,您应该在Python中使用字典文本。这在Python中是完全等效的:
或者在你的实际情况中:
^{pr2}$正如Jon在评论中强调的那样,JavaScript对象文本和Python dict文本之间的最大区别在于Python对键的行为基本上是JavaScript默认使用
[]
的行为。在因此,要在JavaScript中翻译
{ [expr]: value }
,可以用Python编写{ expr: value }
。但是当你用JavaScript写{ key: value }
时,你必须理解它本质上是一个{ ['key']: value }
,这使得它等价于Python中的{ 'key': value }
。在之所以需要字符串文本作为字符串键,是因为Python字典可以有几乎任意的key对象,并且不像JavaScript对象那样仅限于字符串键。在
相关问题 更多 >
编程相关推荐