1行代码提取dict中的key和value,组成list:
conf_dict = {'host':'127.0.0.1', 'port':3600, 'user':'root', 'pswd':123456}
key_list = [key for key in conf_dict]
value_list = [conf_dict[key] for key in conf_dict]
同样dict也可以一行生成,如果满足你要求的话:
alpha_list = ['aaa', 'bbb', 'ccc', 'ddd']
alpha_dict = {alpha: alpha for alpha in alpha_list}
# 'aaa':'aaa'
alpha_dict = {alpha: alpha.upper() for alpha in alpha_list}
# 'aaa':'AAA'
alpha_dict = {alpha: alpha*2 for alpha in alpha_list}
# 'aaa':'aaaaaa'
有一定局限性,因为value和key要有某种关联。
活学活用的话,可以配合函数使用,生成一个函数名到函数的映射。来实现一个简单反射。
# 假设有一个list,里面存放的是函数
def test_a():
pass
def test_b():
pass
...
fun_list = [test_a, test_b, test_c, test_d]
fun_dict = {fun.__name__: fun for fun in fun_list}
# 'test_a':test_a
# 调用
fun_dict['test_a']()
当然Python语法天生支持反射,只是语法稍显繁琐,没有特别需求的话,自己像这样简单弄一个就行啦。
本文介绍了一行Python代码实现从字典中提取键值并转换为列表的方法,并展示了如何通过列表生成字典,同时提供了利用函数创建简单反射的示例。

被折叠的 条评论
为什么被折叠?



