如何在Python中使用append来存储循环中的值

如何在Python中使用append来存储循环中的值,python,Python,我正在定义一个函数(results),它包含一个for循环,其结果是一个随机数(a)。例如,如果循环运行10次,它将生成10个不同的数字。我想把这些数字存储在循环中的一个列表中,然后打印出来,看看生成了什么数字 我曾想过使用append,尽管我不知道怎么做。到目前为止,这是我的代码,尽管print语句不起作用(我收到一个错误,说我没有正确使用append) .append需要在列表上调用,而不是在a上调用列表也需要在循环外部初始化,以便能够附加。以下是您的方法的固定版本: from random

我正在定义一个函数(
results
),它包含一个for循环,其结果是一个随机数(
a
)。例如,如果循环运行10次,它将生成10个不同的数字。我想把这些数字存储在循环中的一个列表中,然后打印出来,看看生成了什么数字

我曾想过使用append,尽管我不知道怎么做。到目前为止,这是我的代码,尽管print语句不起作用(我收到一个错误,说我没有正确使用append)


.append
需要在列表上调用,而不是在
a
上调用<代码>列表也需要在循环外部初始化,以便能够
附加
。以下是您的方法的固定版本:

from random import random

def results():
    # First, initialize the list so that we have a place to store the random values
    items = []
    for _ in range(1,10):
        # Generate the next value
        a = random()

        # Add the new item to the end of the list
        items.append(a)

    # Return the list
    return items
append()
方法上,进一步解释其工作原理

还值得注意的是,
range
生成从起始值到(但不包括)停止参数的值。因此,如果您的目的是生成10个值,您应该执行
range(0,10)
,因为
range(1,10)
只会给您9个值

如果您想更进一步,可以使用来避免同时使用
append
,并提供一个参数来指示需要多少随机数:

def results(num=10):
   return [random() for _ in range(0, num)]

# produces a list of 10 random numbers (by default)
foo = results()

# produces a list of 20 random numbers
bar = results(20)

.append
需要在列表上调用,而不是在
a
上调用<代码>列表也需要在循环外部初始化,以便能够
附加
。以下是您的方法的固定版本:

from random import random

def results():
    # First, initialize the list so that we have a place to store the random values
    items = []
    for _ in range(1,10):
        # Generate the next value
        a = random()

        # Add the new item to the end of the list
        items.append(a)

    # Return the list
    return items
append()
方法上,进一步解释其工作原理

还值得注意的是,
range
生成从起始值到(但不包括)停止参数的值。因此,如果您的目的是生成10个值,您应该执行
range(0,10)
,因为
range(1,10)
只会给您9个值

如果您想更进一步,可以使用来避免同时使用
append
,并提供一个参数来指示需要多少随机数:

def results(num=10):
   return [random() for _ in range(0, num)]

# produces a list of 10 random numbers (by default)
foo = results()

# produces a list of 20 random numbers
bar = results(20)

append
是您必须在列表中使用的一种方法,因此基本上您会这样做:
randomList。append(a)
并且不要忘记在函数开始时预先初始化您的列表:
randomList=[]
append
是您必须在列表中使用的一种方法,因此,基本上您可以这样做:
randomList.append(a)
,并且不要忘记在函数开始时预先初始化您的列表:
randomList=[]
您可以这样做:

import maths

list_with_numbers=[]

def results():
    for _ in range(1,10):
        a = maths.numbers()
        list_with_numbers.append(a)
    print(list_with_numbers)

这是显而易见的,但不要忘记所有函数本身。

您可以这样做:

import maths

list_with_numbers=[]

def results():
    for _ in range(1,10):
        a = maths.numbers()
        list_with_numbers.append(a)
    print(list_with_numbers)

这是显而易见的,但不要忘记所有函数本身。

您有一些小错误

  • 没有
    数学
    模块
  • a
    是数字,而不是列表。您应该在列表中添加
  • 在循环结束后调用
    print
    ,而不是在每次迭代中

    从随机导入随机

    def results(): 数字=[]

    for _ in range(1,10):
        a = random()
        print(a)
        numbers.append(a)
    
    return numbers
    

    • 您有几个小错误

      • 没有
        数学
        模块
      • a
        是数字,而不是列表。您应该在列表中添加
      • 在循环结束后调用
        print
        ,而不是在每次迭代中

        从随机导入随机

        def results(): 数字=[]

        for _ in range(1,10):
            a = random()
            print(a)
            numbers.append(a)
        
        return numbers
        

      list.append
      是一个“就地”操作,返回
      None
      ,因此在尝试追加值时不需要赋值。老实说,我想把这个问题命名为“如何使用append?”,顺便说一句,不要像
      list
      那样命名变量,它会把默认名称弄乱。我坚信python不应该允许这些名称覆盖
      列表。append
      是一个“就地”操作,返回
      None
      ,因此在尝试追加值时不需要赋值。老实说,我想在旁注中将这个问题命名为“如何使用append?”,不要像
      list
      那样命名变量,因为它会与默认名称混淆。我强烈认为python不应该允许这些名称覆盖“不100%确定是否有必要”——这是不必要的。谢谢!那么什么时候使用“全局”呢?除非明确要求,否则使用
      global
      不是一个好的做法。我不建议在任何地方使用它。“不100%确定是否有必要”-没有必要。谢谢!那么什么时候使用“全局”呢?除非明确要求,否则使用
      global
      不是一个好的做法。我不建议在任何地方使用它。我尝试过,但使用了
      print(items)
      而不是
      return items
      ,现在我没有收到错误消息,但没有打印任何内容。。。你知道为什么吗?你收到了什么错误信息?你在调用这个方法吗?您需要这样称呼它:
      results()
      我想是的。。我将编辑我的问题以包括我尝试过的内容,但使用
      print(items)
      而不是
      return items
      ,现在我没有收到错误消息,但没有打印任何内容。。。你知道为什么吗?你收到了什么错误信息?你在调用这个方法吗?您需要这样称呼它:
      results()
      我想是的。。我将编辑我的问题以包括我尝试过的内容