【问题标题】:Convert list item to string将列表项转换为字符串
【发布时间】:2014-04-26 06:56:50
【问题描述】:

我是 Python 的新手,多年来一直依赖 PHP 作为我选择的服务器端脚本语言。我正在使用 Python 的 Itertools 来生成可以排列 6 位数字的方式组合列表。

import itertools
import threading

def test(full) :
   #print full
   codes = list(itertools.product([1,2,3,4,5,6,7,8,9,0], repeat=6))
   count = len(codes)

   for num in range(0, count):
       item = codes[num]
       print item

item 以看起来像数组的形式返回。它始终是由逗号分隔并在括号内的一系列 6 数字。

(0, 1, 2, 3, 4, 5)

我怎样才能将上面的值格式化如下?

012345

谢谢

【问题讨论】:

    标签: python arrays string itertools


    【解决方案1】:

    这将是一个很好的方法

    >>> from itertools import imap
    >>> ''.join(imap(str, item))
    012345
    

    【讨论】:

    • 请注意,这会创建一个临时列表。其他解决方案避免了这种情况。
    • 编辑它不再创建临时列表
    【解决方案2】:

    看起来像数组的东西实际上是tuple。但这在这里并不重要,因为您可以使用str.join 方法从任何可迭代的元素中创建一个字符串(前提是这些元素可以转换为str):

    >>> tpl = (0, 1, 2, 3, 4, 5)
    >>> s = ''.join(str(i) for i in tpl)
    >>> print s
    012345
    

    您可以通过在交互式解释器中输入help(str.join) 来获取有关str.join 的更多信息。

    【讨论】:

      【解决方案3】:
      >>> series = (0, 1, 2, 3, 4, 5)
      >>> ''.join(str(x) for x in series)
      012345
      

      上面将为您提供一个包含 (0, 1, 2, 3, 4, 5) 元组中所有元素的字符串。也可以转换为int类型(不保留前导零):

      >>> int(''.join(str(x) for x in series))
      12345
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-07-04
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多