如何将单个元素的元组转换为字符串?

3

我有这段代码:

 import nltk
 import pypyodbc

 text = raw_input()
 token = nltk.word_tokenize(text) //return a list value


def search(self, lists):
    if not self.connected:
        self.connect()
    for word in lists:
        self.cur.execute('SELECT Ybanag FROM Words WHERE English IN (%s)' % (','.join('?'*len(lists))), lists)
        result = self.cur.fetchall()
        return result

其中输出是一个单元素元组列表(例如我输入我们都在那儿):[('tore',), ('ngaming',), ('sittam',)] (将输入翻译成母语)。我希望将输出转换为字符串,以消除[],(),'',符号。如何将其转换为字符串?

2个回答

7
你需要使用str.join方法。
>>> a = [('tore',), ('ngaming',), ('sittam',)]
>>> " ".join([x[0] for x in a])
'tore ngaming sittam'

@TomByler,它有效,你可以将其选为答案。这将帮助其他人找到正确的答案。 - Nilesh
另一个问题是如何将单个元素的元组转换为数组,或者如何将字符串存储到数组变量中? - user4501264
你可以使用[x[0] for x in a]进行转换。 - Nilesh
是的,这不就和单元素元组 - 字符串转换一样吗?如果结果在这一行 result = self.cur.fetchall() 中存储在一个数组变量中,会怎么样呢?我能这样做吗 array[]=result - user4501264
@TomByler,最好提出另一个问题并提供完整细节。 - Nilesh
显示剩余2条评论

0
我会使用for循环。您可以遍历元组列表并将每个元素添加到空字符串变量中。
x = [('tore'), ('ngaming'), ('sittam')]
z = ""
for i in x:
    z = z + i + " "

print z

看了Lafada的回答后,我意识到列表推导和str.join是最好的选择。虽然他的回答更好,但这基本上就是他的回答所做的事情,只不过更加手动。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接