我想獲得像 [1,2,3] 這樣的 int 陣列,
但得到了 [dict_values([1]),dict_values([2]),dict_values([3])]
take_employee_ids_dict = [{'id': 1}, {'id': 2}, {'id': 3}]
我的代碼
taken_employee_ids = [str(taken_employee_ids_list.values()) for taken_employee_ids_list in taken_employee_ids_dict]
in_values_check = ','.join(str(id) for id in taken_employee_ids)
然后 in_values_check 應該進入:
qry = "SELECT CONCAT(first_name, ',', surname) AS full_name, id \
FROM employees \
WHERE date_terminated IS NULL \
and id NOT IN " "(" in_values_check ")" \
" ORDER BY first_name, surname ASC"
抱歉,我是 python 新手,謝謝
uj5u.com熱心網友回復:
對于這樣的問題,串列推導是一種常用的解決方案:
taken_employee_ids_dict = [{'id': 1}, {'id': 2}, {'id': 3}]
in_values_check = [employee["id"] for employee in taken_employee_ids_dict]
print(in_values_check)
這輸出
[1, 2, 3]
uj5u.com熱心網友回復:
您可以使用lambda或串列推導來做到這一點
與拉姆達,
taken_employee_ids_dict = [{'id': 1}, {'id': 2}, {'id': 3}]
in_values_check = list(map(lambda x : x['id'], taken_employee_ids_dict))
print(in_values_check)
通過串列理解,
taken_employee_ids_dict = [{'id': 1}, {'id': 2}, {'id': 3}]
in_values_check = [dic['id'] for dic in taken_employee_ids_dict]
print(in_values_check)
輸出:
[1, 2, 3]
uj5u.com熱心網友回復:
你可以使用這樣的東西。
taken_employee_ids_dict = [{'id': 1}, {'id': 2}, {'id': 3}]
final_list = []
for ele in taken_employee_ids_dict:
for key,value in ele.items():
final_list.append(value)
print(final_list)
uj5u.com熱心網友回復:
試試這個:
taken_employee_ids = [str(employee["id"]) for employee in taken_employee_ids_dict]
in_values_check = ','.join(str(id) for id in taken_employee_ids)
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/412102.html
標籤:
