[英]Python list | How to remove parenthesis,quotes and commas in my list?
从我的数据库中,我将返回一个列表以显示在我的HTML页面中,但我的列表中有这些不需要的符号。 我尝试使用split()
函数,但它不会工作。 如何删除这些括号,逗号和引号。 谢谢你的帮助
输出是:
[('cenomar',), ('cedula',), ('Birth Certificate',), ('Clearance',)]
我想要:
[cenomar, cedula, Birth Certificate, Clearance]
这是我的python函数:
@app.route('/')
def search():
conn=psycopg2.connect("dbname='forms' user='postgres' password='everboy'
host='localhost' port='5432'")
cur=conn.cursor()
cur.execute("SELECT name from form")
rows=cur.fetchall()
print(rows)
return render_template("form.html",rows=rows)
在此行之后: rows=cur.fetchall()
添加此行
rows=[i[0] for i in rows]
一个简单的解决方案是:
输入 :[“('cenomar',)”,“('cedula',)”,“('出生证明',)”,“('清除',)”]
rows = ["('cenomar',)", "('cedula',)", "('Birth Certificate',)", "('Clearance',)"]
res = []
for r in rows:
res.append(r[2:-3]) # this line ignores the beginning bracket and open quote and the closing bracket, comma, and close quote
print res
输出 :[“cenomar”,“cedula”,“出生证明”,“清关”]
会发生什么,你迭代你的列表,对于每个项目,你只是使用字符串操作( [n:m]
,切断了你不需要的东西,其中n
是起始字符, m
是结束字符,在你的情况下, 2
表示从3个字符开始字符串(忽略(
和'
), -3
3表示在结束之前将字符串剪切为3个字符(忽略)
, '
和,
))。
编辑1
我注意到你的输入可能不是一个字符串,正如我上面的回答所暗示的那样,如果你有一个元组("smth",)
你可以简单地得到第一个元素。 所以答案会改为:
输入 :[('cenomar',),('cedula',),('出生证明'),('清除',)]
rows = [('cenomar',), ('cedula',), ('Birth Certificate',), ('Clearance',)]
res = []
for r in rows:
res.append(r[0])
print res
输出 :[“cenomar”,“cedula”,“出生证明”,“清关”]
上面的实现是为了便于理解而写的,但也可以翻译成一个较短的衬里,如下所示:
rows = [i[0] for i in rows]
希望这可以帮助!
试试这个吧
l = [('cenomar',), ('cedula',), ('Birth Certificate',), ('Clearance',)]
b = []
for i in l:
b.append(i[0])
print(b)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.