首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列表

Python列表
EN

Stack Overflow用户
提问于 2016-03-31 12:00:44
回答 2查看 153关注 0票数 0

使用:

代码语言:javascript
复制
cur.execute(SQL)
response= cur.fetchall() //response is a LOB object
names = response[0][0].read()

下面的SQL响应是字符串names

代码语言:javascript
复制
'Mike':'Mike'
'John':'John'
'Mike/B':'Mike/B' 

正如您所看到的,它是格式化的。它的格式实际上是:\\'Mike\\':\\'Mike\\'\n\\'John\\'...等等。

例如,为了检查Mike是否在列表中至少一次(我不在乎多少次,但至少有一次)

我想要这样的东西:

代码语言:javascript
复制
l = ['Mike', 'Mike', 'John', 'John', 'Mike/B', 'Mike/B'],

因此,我可以简单地遍历列表并询问

代码语言:javascript
复制
for name in l: 
   'Mike' == name: 
      do something

知道我该怎么做吗?

非常感谢

编辑:

当我这么做时:

代码语言:javascript
复制
list = names.split()

我收到的列表几乎是我想要的,但是里面的元素看起来仍然是这样的!

代码语言:javascript
复制
list = ['\\'Mike\\':\\'Mike\\", ...]
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-31 13:01:33

代码语言:javascript
复制
names = ['\\'Mike\\':\\'Mike\\", ...]

for name in names:
    if "Mike" in name:
        print "Mike is here"

业务是由mysql转义

如果您有一个名称列表,请尝试如下:

代码语言:javascript
复制
my_names = ["Tom", "Dick", "Harry"]
names = ['\\'Mike\\':\\'Mike\\", ...]

for name in names:
    for my_name in my_names:
        if myname in name:
        print myname, " is here"
票数 1
EN

Stack Overflow用户

发布于 2016-03-31 13:01:22

代码语言:javascript
复制
import re
pattern = re.compile(r"[\n\\:']+")
list_of_names = pattern.split(names) 
# ['', 'Mike', 'Mike', 'John', 'John', 'Mike/B', '']
# Quick-tip: Try not to name a list with "list" as "list" is a built-in

您可以这样保存结果,也可以进行最后的清理以删除空字符串。

代码语言:javascript
复制
clean_list = list(filter(lambda x: x!='', list_of_names))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36332885

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档