Python字典中用变量作键名,有没有更简洁的惯用写法?
嘿,这个问题问得好!Python里确实有更简洁的写法,但要注意和JavaScript的语法区别——因为在Python里{name}会创建一个集合而不是字典,不过我们有其他符合Python惯用风格的简洁方案:
1. 单个键值对:直接保留直观写法
如果只是单个键值对,其实你原本的写法已经很简洁了,也是Python开发者最常用的方式:
name = 'Isaiah' myInfo = {'name': name}
2. 多个变量:用dict()构造函数简化
当你需要把多个变量打包进字典时,dict()构造函数的关键字参数写法会更清爽,不用重复写键名的引号:
name = 'Isaiah' age = 30 myInfo = dict(name=name, age=age)
3. 批量提取:用字典推导筛选变量
如果要从一堆局部变量里挑几个转成字典,字典推导是更灵活的选择:
name = 'Isaiah' age = 30 city = 'New York' # 只提取name和age到字典 myInfo = {k: v for k, v in locals().items() if k in ['name', 'age']}
另外要给你点个赞:把变量名从dict改成myInfo绝对是正确的选择!因为dict是Python内置的类型关键字,用作变量名会覆盖原有的内置功能,后续再想创建字典就会出问题,这可是Python新手容易踩的坑哦~
内容的提问来源于stack exchange,提问作者Isaiah Taylor
相关产品推荐
相关产品推荐

