【问题标题】:How to convert a single number into a single item list in python如何在python中将单个数字转换为单个项目列表
【发布时间】:2015-06-18 07:42:26
【问题描述】:

我的解决方案:

>>> i = 2
>>> list1 = []
>>> list1.append(i)
>>> list1
[2]

有没有更优雅的解决方案?

【问题讨论】:

  • list(i) 不起作用。有谁知道这背后的原因吗?

标签: python list integer


【解决方案1】:

这只是一个特例:

list1 = []

您可以将列表内容放在括号之间。例如:

list1 = [i]

【讨论】:

    【解决方案2】:

    它只是一个单一的分配还是在另一个构造中? 如果只是一个作业:

    list1 = [2,] #This is equivalent to list1 = [2], I add the comma out of habit (but either works)
    #if construct it depends but this assigns the variable as the list element
    list1 = [i] #is fine
    

    【讨论】:

    • 尾随逗号仅适用于元组,例如(2,),只是因为 (2) 将被视为整数表达式,而不是元组。 [2,] 是语法错误。
    • @MikeHousky 试试吧,python 2 可以正常工作。也刚刚在 Python 3 中测试过,它仍然可以工作。
    • 奇数。我确实尝试过(Python 2.7.8)并得到了语法错误。但是,在您回复后再次尝试,它成功了!?空闲一定是打嗝了。我今天学到了一些东西。 (不过,我不确定我是否会使用它。)
    • 是的,不时在 python、R、matlab 之间切换时更令人困惑。尽可能记住将 , 添加到单个元素可能是一个好习惯。
    • tup1 = 2, 生成单个元素元组。 () 是可选的。
    【解决方案3】:

    要将某些内容放入列表中,只需将其括在括号中,如下所示:

    i = 4
    print( [i] )
    

    iList = [i]
    print( iList )
    

    在这里运行一个工作示例http://www.codeskulptor.org/#user39_XH1ahy3yu5b6iG0.py

    【讨论】:

      【解决方案4】:
      mylist = [i] 
      

      这将创建一个名为 mylist 的列表,其中只有一个元素 i。这可以扩展为创建一个包含任意数量值的列表: 例如:

      mylist = [i1,i2,i3,i4]
      

      这将创建一个包含四个元素 i1,i2,i3,i4 的列表。这比将每个元素附加到列表更有效。

      【讨论】:

        【解决方案5】:

        正如已经说过的,你可以写一个单一的值

            list1 = [i]
        

        这是一个“0 阶”列表理解,结果证明它是一个相关且强大的 python 工具。

        查看https://docs.python.org/2/tutorial/datastructures.html

        【讨论】:

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