python - 尝试过滤具有特定值的字典列表时出错我收到错误
问题描述
我从 mysql 数据库的表中获取数据。我正在尝试过滤具有特定值的字典列表。当我执行代码时,出现以下错误:
使用 IDE = PyCharm。
错误:
[x.append(k) for k in lst_cmp_helpdesk_dic if "Doble" in k[key]]
TypeError: “int”类型的参数不可迭代
import mysql.connector
def test_initialize_test_data():
global lst_cmp_helpdesk
global lst_cmp_helpdesk_dic
cnx = mysql.connector.connect(user='User', password='Password', host='Srv Name or IP', database='DataBase Name')
try:
cursor_dic = cnx.cursor(dictionary=True,buffered=True)
cursor_dic.execute("select * from Table_Name")
lst_cmp_helpdesk_dic = cursor_dic.fetchall()
x = []
for key in lst_cmp_helpdesk_dic[0].keys():
[x.append(k)for k in lst_cmp_helpdesk_dic if "Search_Text" in k[key]]
count = len(([dict(t) for t in set([tuple(d.items()) for d in x])]))
print("\n Length = " + str(count))
finally:
cnx.close()
解决方案
你在说
"Search_Text" in k[key]
但k[key]
返回一个 int。因此,您不能使用in
.
您可以实际打印的一件事lst_cmp_helpdesk_dic[0].keys()
并确保它包含您要比较的名称"Search_text"
推荐阅读
- ruby-on-rails-6 - Rails 生产容器“您要查找的页面不存在。”
- http-status-codes - “Too Soon to Renew JWT Token”的适当 HTTP 状态代码
- excel - 从 Excel 读取时,Pandas 将整数转换为实数
- google-api - 从 Nest-camera 获取单个图像
- javascript - 如何创建具有创建和加入大厅功能的网站
- javascript - 我正在尝试用 Javascript 编写一个基本的国际象棋引擎。该板是一个数组数组。为什么我不能让棋子移动?
- python - 为什么我不能将我的游戏的画布与“锚”或“对齐”对齐?他们都抛出一个错误
- python - 我的 webscraper 陷入了一个循环
- c++ - msgpack c++ 无法写入管道
- google-cloud-platform - 弃用 GCP 旧式元数据端点 - 如何测试我是否不再使用它们?