在使用cursor.fetchall()
的变量中保存一些数据后,它看起来如下:
mylist = [('abc1',), ('abc2',)]
这显然是一个清单。
这不是问题。
问题是以下情况不起作用:
if 'abc1' in mylist
找不到'abc1'。有没有办法让Python轻松完成,或者我必须使用循环吗?
答案 0 :(得分:0)
fetchall()
返回一个行列表,即包含行的列表。
每一行都是一个包含列值的元组。即使只有一列,也有一个元组。
要检查行是否在行列表中,您必须检查行而不是单独检查列值:
if ('abc1',) in mylist
答案 1 :(得分:-1)
这是使用select *
语句的问题。
而是使用select col1,col2 from table_name
下面的代码可能有帮助
sql = "select col1,col2,col3 from table_name"
cursor.execute(sql) # initialize cursor in your way
input_dict = dict( (row[0],(row[1],row[2])) for row in cursor.fetchall() )