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

首先,只要说abarnet是正确的,即如果它只是一个或两个变量,则应该显式。我要说的是,即使比这更重要,明确的结构通常会更好。但我确实认为有些情况下,捷径是允许的。例如,我有一个文件,它构建字典以通过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美分。我认为这是一个必要的特性。

python 定义字典键为变量_在python字典中使用变量作为键名相关推荐

  1. python画图将标题中有变量_如何在matplotlib中打印变量名作为标题

    在python中不可能轻松地获取变量的名称(请参见answer).对于在python中传递给函数的变量,有使用inspect.详细信息here和基于此answer的案例解决方案的复杂解决方案impor ...

  2. c调用python代码找不到模块_构建 Python C 扩展模块

    有好几种扩展 Python 的功能的方法.其中一种就是用 C 或 C++ 编写 Python 模块.通过这个过程可以提高性能,更好地访问 C 库函数和系统调用.在本教程中,我将带大家了解如何使用 Py ...

  3. python 定义变量_用python解决动态的定义变量名(并给其赋值方法:大数据处理)...

    前言: 今天为大家带来的内容是:用python解决动态的定义变量名(并给其赋值方法:大数据处理)具有很好的参考价值,希望对大家有所帮助.喜欢本文内容的记得点赞转发收藏不迷路哦!!! 最近消费kafka ...

  4. python3 循环写入一对多键值对_为什么Python 3.6以后字典有序并且效率更高?

    在Python 3.5(含)以前,字典是不能保证顺序的,键值对A先插入字典,键值对B后插入字典,但是当你打印字典的Keys列表时,你会发现B可能在A的前面. 但是从Python 3.6开始,字典是变成 ...

  5. python字典中的键是什么_在python字典中作为键的对象

    我试图在python字典中使用一个对象作为键,但是它的行为方式让我无法完全理解. 首先,我创建一个以对象为键的字典:package_disseminators = { ContentType(&quo ...

  6. list python 访问 键值对_基础|Python常用知识点汇总(中)

    字符串字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串.1.创建字符串 str1 = 'Hello World!' str2 = "Hello W ...

  7. python一张图学懂_【python系统学习07】一张图看懂字典并学会操作

    一张图get字典 一张图get字典的些许知识点 如果图中知识点描述过于概括,请看下列细文: 字典是什么 js的对象 说到字典,前端同学可以理解其为:对象.因为python中的字典和js中的对象长的不能 ...

  8. python定义一个复数类complex、内有两个成员变量_python(一):python语言基础

    一.python语言基本的8个要素 Python语言的8个要素:数据类型.对象引用.组合数据类型.逻辑操作符.运算操作符.控制流语句.输入/输出.函数的创建与引用.除此之外还有一个非常重要且无处不在的 ...

  9. python定义一个复数类complex、内有两个成员变量_python应用(5):变量类型与数据结构...

    如前所说,写程序如同给算法写壳,而算法就是流程,所以流程是程序的主角(但这个流程不一定要你来设计).在程序中,为了配合流程(算法)的实现,除了顺序.分支与循环语句的使用,还要借助"变量&qu ...

  10. shell调用python脚本传递命名关键字参数_关于python:将字典作为关键字参数传递给函数...

    我想使用字典在python中调用函数. 这是一些代码: d = dict(param='test') def f(param): print(param) f(d) 这打印{'param': 'tes ...

最新文章

  1. 为什么阿里巴巴开发手册中强制要求 POJO 类使用包装类型?NPE问题防范
  2. 【quartz】执行一次功能
  3. 贝佐斯正接受14小时训练 以为周二进行的首次太空飞行做准备
  4. Ipimage 转mat
  5. 你越努力,编程水平越差!这样学 Python ,更容易成为高手!
  6. 解决纵向滚屏导致的轮播图异常
  7. android 默认dimens_Android开发——自动生成Android屏幕适配的dimens.xml文件
  8. 大数据分析具备哪些特点
  9. Hibernate在自由状态和持久的状态转变
  10. python颜色识别,46行代码实现865种颜色识别,看过的都说顶呱呱!
  11. 创建shap文件的属性字段类型区别_shapefile数据文件组成
  12. 邮件服务器 二级域名,hMailServer+Roundcube+APMServ+希网二级域名+ADSL搭建邮件服务器...
  13. maven 解决Cannot access alimaven以及Process terminated
  14. 2020.5.12第一次博客
  15. Unity 获得Animator下某个动画片段的时长
  16. 软件工程Alpha冲刺集合
  17. 【Linux】命令每日一个
  18. 5G NGC — 开放的 N4 接口
  19. 微信公众号文章中如何添加及上传pdf、doc、xls等文件给粉丝下载
  20. Ubuntu更新系统源时出现错误提示W: GPG 错误

热门文章

  1. 1.试述大数据对思维方式的重要影响。 2.详细阐述大数据、云计算、物联网之间的区别与联系。 3.简述你对大数据应用与发展的看法,以及你在这次大数据浪潮中想扮演什么角色。...
  2. 【剑指offer】顺时针打印矩阵
  3. spring获取上下文的方式
  4. hdu 2067 兔子板
  5. 二叉树非递归先序遍历
  6. 把三千行代码重构为15行
  7. Cocos Studio的动画系统介绍
  8. OCA读书笔记(9) - 管理数据同步
  9. [转载] CSS模块化【封装-继承-多态】
  10. Delphi XE2 发布了,期待了很久的东西,开始学习中。