Rumah > Soal Jawab > teks badan
有一个 while 循环需要不断的收集用户的兴趣标签,比如:运动、读书、电影等等,然后把这些标签不断的 append 的一个列表 A 中。
在 while 循环的过程中,并不存储到数据库中,只是临时存储到 sqlalchemy session 中,等整个循环做完了,在把这个列表 A 存储。
这样有个问题,比如“读书”这个标签出现两次,列表 A 中会出现两个“读书”字符串。
用什么方式,可以在查询 session 中是否已经有重复的数据出现?
面对疾风吧2016-11-07 14:40:06
你是要查 session 还是列表 A ?看完你的描述也是一头包。
session 用来暂存数据库数据的是个 dict ,何来重复之说, see: http://docs.sqlalchemy.org/en/latest/orm/session_api.html#sqlalchemy.orm.session.Session.identity_map
要是 list 的重复项的话,不告诉你,这是 Python 的高级用法