使dict成为单个逗号分隔字符串的最快方法

ens*_*are 1 python string

我有一份清单

uids: ['1234','4321','1111'] 
Run Code Online (Sandbox Code Playgroud)

我想把它变成一个单独的字符串:

"uid = '1234' OR uid = '4321' OR uid = '1111'"
Run Code Online (Sandbox Code Playgroud)

最有效的方法是什么?谢谢!

Amb*_*ber 9

' OR '.join("uid = '%s'" % u for u in uids)
Run Code Online (Sandbox Code Playgroud)

这将调用join字符串上的函数,该函数' OR '接受传入的列表并将字符串放在每个元素之间,然后将它们连接在一起.(用于将OR放在每个key = val对之间.)

里面的部分()是理解,说:"每一个uuids列表中,产生等于字符串的值"uid = '%s'",但在替补u代替%s标记".

  • 请记住,如果这是用于SQL语句,更好的方法是使用DB-API引用:put"uid =?" (对于`qmark` paramstyle),在SQL语句中,每个uid一个,由OR分隔,并将uid列表(以及任何其他参数)传递给`execute`方法.这样你就不必担心引用正确了. (4认同)