【问题标题】:How to convert single element tuple into string?如何将单个元素元组转换为字符串?
【发布时间】:2015-02-23 04:13:47
【问题描述】:

我有这个代码:

 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

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

【问题讨论】:

    标签: python string tuples


    【解决方案1】:

    你必须使用str.join方法。

    >>> a = [('tore',), ('ngaming',), ('sittam',)]
    >>> " ".join([x[0] for x in a])
    'tore ngaming sittam'
    

    【讨论】:

    • @TomByler,它有效,您可以选择它作为答案。这将帮助其他人找到正确的答案。
    • 另一个问题是如何将单个元素元组转换为数组或如何将字符串存储到数组变量中?
    • 您可以使用[x[0] for x in a]进行转换
    • 是的,这和单元素元组中的字符串转换不一样吗?如果result = self.cur.fetchall() 这一行中的结果不是字符串,而是存储在数组变量中怎么办?我可以这样做array[]=result吗?
    • @TomByler,最好再问一个详细的问题。
    【解决方案2】:

    我只会使用 for 循环。您可以遍历元组列表并将每个元素添加到一个空字符串变量

    x = [('tore'), ('ngaming'), ('sittam')]
    z = ""
    for i in x:
        z = z + i + " "
    
    print z
    

    看到 Lafada 的回答后,我意识到列表理解和str.join 是最好的选择。尽管他的答案更好,但这基本上是他的答案所做的,只是手动完成了更多。

    【讨论】:

      猜你喜欢
      • 2017-08-25
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多