为什么在python中使用x=list[0:8]创建列表是错误的?

2024-04-27 19:51:20 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么用这个创建一个列表是错误的?你知道吗

x = list[0:8]

要在两个值之间创建一个列表,这是唯一的方法吗?你知道吗

list(range(0, 8))

谢谢


Tags: 方法列表错误rangelist
3条回答

这是错误的,因为它没有给你想要的结果。你知道吗

如果你写这个:

x = list[0:8]

告诉Python:获取名为list的现有变量,选择第0个元素到第8个元素(即前8个元素,列表从0开始),并将结果赋给变量x。你知道吗

[0:8]部分被称为“切片”,它处理许多类型的变量,您可以通过索引访问这些变量。当您将切片应用于list时,Python将其解释为可索引的内容,并尝试“切片”它—除非您实际定义了一个名为list的列表,否则这不起作用,因为它“隐藏”了标准Python的list类型。你知道吗

您并不是在告诉Python:生成数字0到7,将其转换为一个列表,并将结果赋给变量x,这意味着:

x = list(range(0, 8))

请注意,对于大多数情况,这已经足够了,但它不会为您提供列表,而是范围本身,因此如果您确实需要列表,请不要这样做:

x = range(0, 8)
x = list[0:8]

使用此语法拼接名为list的现有列表并将其赋给变量x,实际上不会生成新列表。如果没有定义list,则会得到一个异常。你知道吗

@nilsinelabore,[x:y]表示从索引x到y-1对列表进行切片,只有在列表存在时才能对其进行切片。你知道吗

相关问题 更多 >