【问题标题】:Python: How to combine the results of for loop into one output?Python:如何将 for 循环的结果合并为一个输出?
【发布时间】:2015-05-05 05:03:12
【问题描述】:
numbers = [1, 2, 3]

for number in numbers:
   number = number * 2 

#For the output I will get:
2
4
6

如何修改我的代码,以便在不使用 print 语句的情况下合并结果(例如 [2, 4, 6])?

【问题讨论】:

  • 你的意思是你想要输出结果吗?只计算?
  • 我不明白你的意思“#对于我将得到的输出:2 4 6”。这里根本没有输出。并且没有效果;每次循环时,您所做的只是将循环变量 number 重新分配给不同的值,然后您会立即忘记。
  • 听起来您将 Python 解释器显示 returned 值的行为与内置 print() 函数混淆了。

标签: python for-loop iteration output


【解决方案1】:

使用列表推导:

[num*2 for num in numbers]

>>> numbers = [1, 2, 3]
>>> [num*2 for num in numbers]
[2, 4, 6]
>>> 

【讨论】:

    【解决方案2】:

    新建List类型变量result,并通过listappend()方法向其中添加值。

    演示:

    >>> numbers = [1, 2, 3]
    >>> result = []
    >>> for i in numbers:
    ...   result.append(i*2)
    ... 
    >>> result
    [2, 4, 6]
    >>> 
    

    【讨论】:

      【解决方案3】:

      如果您想将结果收集到一个列表中,您只需创建一个列表并将append 一个一个放到它上面:

      numbers = [1, 2, 3]
      doubles = []
      for number in numbers:
          double = number * 2 
          doubles.append(double)
      

      … 或者,更简洁,对列表推导式做同样的事情:

      numbers = [1, 2, 3]
      doubles = [number * 2 for number in numbers]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-08-31
        相关资源
        最近更新 更多