【问题标题】:Python 2.7: Convert list of multiple tuples to a single listPython 2.7:将多个元组的列表转换为单个列表
【发布时间】:2018-11-21 11:31:31
【问题描述】:

我有以下多个元组的列表:

[('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]

输入:<type 'list'>

转换为:

['1,Mak\n', '2,Sam\n', '3,John\n']

【问题讨论】:

标签: python python-2.7


【解决方案1】:

string.format 具有 Python 2.6+ 的列表理解

['{}\n'.format(','.join(i)) for i in arr]

# ['1,Mak\n', '2,Sam\n', '3,John\n']

或者在 Python 3.6+ 中使用 formatted string literals

[f"{','.join(i)}\n" for i in arr]

【讨论】:

    【解决方案2】:

    您可以使用列表推导:

    l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
    l = [x + ',' + y + '\n' for x, y in l]
    

    所以,现在l 变为: ['1,Mak\n', '2,Sam\n', '3,John\n']

    【讨论】:

      【解决方案3】:

      使用列表推导。

      l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
      print [",".join(i)+ "\n" for i in l]
      

      maplambda 一起使用。

      例如:

      l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
      print map(lambda x: "{0}\n".format(",".join(x)), l)
      

      【讨论】:

        【解决方案4】:

        这个怎么样-

        >>> l = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
        >>> new_list = []
        >>>
        >>> for x in l:
        ...     new_list.append('%s%s' % (','.join(x), '\n'))
        ...
        >>> new_list
        ['1,Mak\n', '2,Sam\n', '3,John\n']
        >>>
        

        【讨论】:

          【解决方案5】:

          你可以使用 map 和 lambda 来解决这个问题。

          #input
          your_list = [('1', 'Mak'), ('2', 'Sam'), ('3', 'John')]
          #result
          result_list = list(map(lambda x:x[0]+x[1]+"\n",your_list))
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-12-26
            • 1970-01-01
            • 1970-01-01
            • 2011-07-27
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多