Python 3.x Python3函数,一个参数返回整数列表

Python 3.x Python3函数,一个参数返回整数列表,python-3.x,function,Python 3.x,Function,如果're'函数必须只接收一个参数's',并且必须返回一个包含从1到12(例如)的数字(整数)的列表,“re”函数应该是什么样子的 因此,交互式控制台中的结果必须是: >>> re(12) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] 首先,您错误地使用了def,如果要定义,必须在下面的附加缩进中输入:并定义函数,或者如果要使用函数,必须删除def Python具有内置的不可变序列类型,它接受一到三个参数start、stop和step,在本例

如果're'函数必须只接收一个参数's',并且必须返回一个包含从1到12(例如)的数字(整数)的列表,“re”函数应该是什么样子的

因此,交互式控制台中的结果必须是:

>>> re(12)
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

首先,您错误地使用了
def
,如果要定义,必须在下面的附加缩进中输入
并定义函数,或者如果要使用函数,必须删除
def

Python具有内置的不可变序列类型,它接受一到三个参数startstopstep,在本例中,我们只使用前两个参数。然而,要获得列表,我们还需要使用另一个内置的,即可变序列类型-,您可以在中阅读有关列表的更多信息。我们将使用list()作为类型构造函数:
list()
list(iterable)
如内置类型页面中所指定:

列表可以通过几种方式构建:

Using a pair of square brackets to denote the empty list: []
Using square brackets, separating items with commas: [a], [a, b, c]
Using a list comprehension: [x for x in iterable]
Using the type constructor: list() or list(iterable)
构造函数生成一个列表,其中的项相同且位于相同的位置 按iterable的项目订购。iterable可以是序列,也可以是 支持迭代的容器或迭代器对象。如果可以的话 已经是一个列表,复制并返回,类似于 iterable[:]。例如,list('abc')返回['a','b','c']和 列表((1,2,3))返回[1,2,3]。如果没有给出任何参数,则 构造函数创建一个新的空列表[]

现在我们了解了
list()
的工作原理,我们可以回到
range()
用法:

  • 范围构造函数的参数必须是整数(内置int或实现索引的任何对象 方法)。如果省略步骤参数,则默认为1。如果 忽略start参数,默认为0。如果步长为零, ValueError被引发

  • 对于正阶跃,范围r的内容由公式r[i]=start+step*i确定,其中i>=0和r[i]
  • 对于负步骤,范围的内容仍然由公式r[i]=开始+步骤*i确定,但约束 i>=0和r[i]>停止

  • 如果r[0]不满足值约束,则范围对象将为空。范围确实支持负指数,但它们是 解释为从由 正指数

  • 允许包含大于sys.maxsize的绝对值的范围,但某些功能(如len())可能会引发溢出错误

范围示例:

>>>
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
>>> list(range(0, 10, 3))
[0, 3, 6, 9]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> list(range(0))
[]
>>> list(range(1, 0))
[]
范围实现除串联和重复之外的所有公共序列操作(由于范围对象可以 仅表示遵循严格模式和重复的序列 连接通常会违反该模式)

  • 开始: 开始参数的值(如果未提供参数,则为0)
  • 停止: 停止参数的值
  • 步骤: 步骤参数的值(如果未提供参数,则为1)
许多其他操作也会生成列表,包括内置的sorted()命令

您的问题的答案如下所示:

def re(ending_number):
    return list(range(1, ending_number + 1))

list_of_twelve = re(12) # list_of_twelve will contain [1, 2, ..., 12]

首先,您错误地使用了
def
,如果要定义,必须在下面的附加缩进中输入
并定义函数,或者如果要使用函数,必须删除
def

Python具有内置的不可变序列类型,它接受一到三个参数startstopstep,在本例中,我们只使用前两个参数。然而,要获得列表,我们还需要使用另一个内置的,即可变序列类型-,您可以在中阅读有关列表的更多信息。我们将使用list()作为类型构造函数:
list()
list(iterable)
如内置类型页面中所指定:

列表可以通过几种方式构建:

Using a pair of square brackets to denote the empty list: []
Using square brackets, separating items with commas: [a], [a, b, c]
Using a list comprehension: [x for x in iterable]
Using the type constructor: list() or list(iterable)
构造函数生成一个列表,其中的项相同且位于相同的位置 按iterable的项目订购。iterable可以是序列,也可以是 支持迭代的容器或迭代器对象。如果可以的话 已经是一个列表,复制并返回,类似于 iterable[:]。例如,list('abc')返回['a','b','c']和 列表((1,2,3))返回[1,2,3]。如果没有给出任何参数,则 构造函数创建一个新的空列表[]

现在我们了解了
list()
的工作原理,我们可以回到
range()
用法:

  • 范围构造函数的参数必须是整数(内置int或实现索引的任何对象 方法)。如果省略步骤参数,则默认为1。如果 忽略start参数,默认为0。如果步长为零, ValueError被引发

  • 对于正阶跃,范围r的内容由公式r[i]=start+step*i确定,其中i>=0和r[i]
  • 对于负步骤,范围的内容仍然由公式r[i]=开始+步骤*i确定,但约束 i>=0和r[i]>停止

  • 如果r[0]不满足值约束,则范围对象将为空。范围确实支持负指数,但它们是 解释为从由 正指数

  • 允许包含大于sys.maxsize的绝对值的范围,但某些功能(如len())可能会引发溢出错误

范围示例:

>>>
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(1, 11))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> list(range(0, 30, 5))
[0, 5, 10, 15, 20, 25]
>>> list(range(0, 10, 3))
[0, 3, 6, 9]
>>> list(range(0, -10, -1))
[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> list(range(0))
[]
>>> list(range(1, 0))
[]
范围实现除串联和重复之外的所有公共序列操作(由于范围对象可以 仅表示遵循严格模式的序列
def listFromGenerator1 (number):
  return [x for x in generatorOfNumbers(number)]

def listFromGenerator2 (number):
  return list(generatorOfNumbers (number))
timed(listOfNumbers) # time for list of 10000
... 
Elapsed Time: 2.16007232666
Elapsed Time: 1.32894515991
Elapsed Time: 2.09093093872
Elapsed Time: 1.99699401855
Elapsed Time: 3.2000541687

...   timed(listFromGenerator1)
... 
Elapsed Time: 1.33109092712
Elapsed Time: 1.30605697632
Elapsed Time: 1.93309783936
Elapsed Time: 1.79386138916
Elapsed Time: 1.90401077271

...   timed(listFromGenerator2)
... 
Elapsed Time: 0.869989395142
Elapsed Time: 1.08408927917
Elapsed Time: 1.65319442749
Elapsed Time: 1.53398513794
Elapsed Time: 1.36089324951

...   timed(listFromRange)  # Lycopersicum's approach
... 
Elapsed Time: 0.346899032593
Elapsed Time: 0.284194946289
Elapsed Time: 0.282049179077
Elapsed Time: 0.295877456665
Elapsed Time: 0.303983688354