我有一个用例,需要根据某些条件修改键名和键值。在JavaScript中,使用^{
但在Python中,我找不到这样的库
输入:
list_is = [{'access_level': 20, 'username': 'example1'},
{'access_level': 50, 'username': 'example2'}]
输出:
[{'is_admin': false, 'username': 'example1'},
{'is_admin': true, 'username': 'example2'}]
请注意,这里的键access_level
更改为is_admin
,如果access_level
=50
,则值更改为true
或false
在一个简单的程序中,我可以这样做:
processed_list = []
for i in range(len(list_is)):
processed_object = {}
processed_object[username] = list_is[i]['username']
processed_object[is_admin] = list_is[i]['access_level'] == 50 ? true : false
processed_list.append(processed_object)
return processed_list
但由于我是Python的初学者,我想知道是否有类似Python的方法(lambda操作符、fnc或pydash)
这是经过一些修改的代码:
或者更像Python的方式
您可以使用
list_comprehension
:或者
这将创建一个具有所需dict格式的新列表,但是,原始列表的(
list_is
)内容将更改,因为会弹出access level
键。正如@schwobasegll所指出的,最好不要创建单独的列表,因此您可以将列表理解分配回list_is
不管怎样,由于您正在修改dicts,因此创建一个新列表没有什么意义。只需使用一个循环
dict.pop
并在适当的位置执行即可:相关问题 更多 >
编程相关推荐