剥离()python的优雅方式

时间:2017-03-23 12:12:36

标签: python string strip

我必须使用Python剥离()我的数据库输出,它已经可以工作了。但有更优雅的方式来做到这一点吗?

这是我的代码:

import MySQLdb
conn= MySQLdb.connect("localhost","root","testPW","MixOMat")
c=conn.cursor()
c.execute("SELECT Zutat1 FROM Rezepte WHERE RezeptID=1")
z1=str(c.fetchall())
z1=z1.strip("(")
z1=z1.rstrip(")")
z1=z1.rstrip(",")
z1=z1.rstrip(")")
z1=z1.rstrip(",")
z1=z1.rstrip("L")
print(z1)

3 个答案:

答案 0 :(得分:5)

首先,.strip参数是您要删除的字符,因此您只需要2次调用

z1 = z1.strip('(').rstrip(')L')

其次,你做错了,获取数据的正确方法应该是(我认为):

c.execute("SELECT Zutat1 FROM Rezepte WHERE RezeptID=1")
(z1, ) = c.fetchone()

请注意,我假设您只有一行要检索

这将直接检索一个整数而不是字符串表示

答案 1 :(得分:1)

只需使用for循环

for e in ["(",")", ","...]:
    z1=z1.strip(e)

功能性方法:

from functools import reduce

z1 = reduce(lambda x: z1.strip(x), ["(",")", ","...])

甚至只是:

z1 = z1.strip("".join(["(",")", ","...]))

答案 2 :(得分:0)

app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"

这是另一种方法,或者你可以使用切片。