python 将函数应用于字典列表中特定元素的值[duplicate]

mklgxw1f  于 2023-01-19  发布在  Python
关注(0)|答案(1)|浏览(106)
    • 此问题在此处已有答案**:

Getting a map() to return a list in Python 3.x(11个答案)
19小时前关闭。

tbl_headers = db_admin.execute("SELECT name, type FROM PRAGMA_TABLE_INFO(?);", table_name)

tbl_headers同下:

[{'name': 'id', 'type': 'INTEGER'}, {'name': 'abasdfasd', 'type': 'TEXT'}, {'name': 'sx', 'type': 'TEXT'}, {'name': 'password', 'type': 'NULL'}, {'name': 'asdf', 'type': 'TEXT'}]

我需要应用hash_in()函数的'name'值是在字典元素以上列表。

尝试过以下方法:

tbl_headers = [hash_in(i['name']) for i in tbl_headers]

取消字典并仅返回"name"值的列表:

['sxtw001c001h', 'sxtw001c001r001Z001e001c001r001Z001a001Z', 'sxtw001w001r', 'sxtw001c001q001n001v001r001r001Z001o', 'sxtw001e001c001r001Z']

tbl_headers = map(hash_in, tbl_headers)

返回错误。

更新

我寻求的输出结果相同:

[{'name': hash_in('id'), 'type': 'INTEGER'}, {'name': hash_in('abasdfasd'), 'type': 'TEXT'}, {'name': hash_in('sx'), 'type': 'TEXT'}, {'name': ('password'), 'type': 'NULL'}, {'name': ('asdf'), 'type': 'TEXT'}]

感谢你。

uxh89sit

uxh89sit1#

试试下面的列表理解:

tbl_headers = [{'name': hash_in(i['name']), 'type': i['type']} for i in tbl_headers]

相关问题