代码之家  ›  专栏  ›  技术社区  ›  gath

如何从元组返回带引号的字符串?

  •  1
  • gath  · 技术社区  · 15 年前

    我有一个字符串元组,我希望将内容提取为带引号的字符串,即。

    tup=('string1', 'string2', 'string3')
    
    when i do this
    
    main_str = ",".join(tup)
    
    #i get
    
    main_str = 'string1, string2, string3'
    
    #I want the main_str to have something like this
    
    main_str = '"string1", "string2", "string3"'
    

    加特

    3 回复  |  直到 15 年前
        1
  •  9
  •   SilentGhost    15 年前
    ", ".join('"{0}"'.format(i) for i in tup)
    

    ", ".join('"%s"' % i for i in tup)
    
        2
  •  2
  •   Lennart Regebro    15 年前

    一个答案是:

    ', '.join([repr(x) for x in tup])
    

    repr(tup)[1:-1]
    

    但那不太好。;)

    更新: 尽管如此,注意到,如果结果字符串以''或''开头,您将无法控制。如果这很重要,您需要更加明确,就像下面的其他答案一样:

    ', '.join(['"%s"' % x for x in tup])
    
        3
  •  0
  •   Mark Rushakoff    15 年前

    有一种方法可以做到:

    >>> t = ('s1', 's2', 's3')
    >>> ", ".join( s.join(['"','"']) for s in t)
    '"s1", "s2", "s3"'