如何获取列表中从第一个元素到某个索引位置的值?

3
list = [1, 6, 5, 7, 8]
num = int(input("Enter a value") #lets say 3 for now

如何获取列表开头到 num 的值?

输出应该是:

[1, 6, 5] 

3
这个问题的答案是否解决了你的疑问?Python: 从列表中获取前10个结果 - Tomerikoo
感谢所有回答的人,它已经完成了。 - Eren145
3个回答

7
你可以使用切片。切片允许你从列表中取出一定范围的数字。
list = [1, 6, 5, 7, 8]
num = int(input("Enter a value")

print(list[0:num])

这应该返回:[1,6,5]

希望这有所帮助!


哦,好的。只是有一个小问题。当你写:list[0:num]时,0:num总是要在那些方括号([ ])中吗? - Eren145
2
@Eren145 就我所知,Python需要在那些方括号中进行切片操作。这是正确的语法。您可以在此处了解有关切片和列表的更多信息:https://docs.python.org/3/tutorial/introduction.html#lists - ScarletCoder16

1
您可以在一行代码中实现此目标,
data = [1, 6, 5, 7, 8]
print(data[:int(input('Enter the number'))])

2
这只是Python中的一个切片机制。如果您想从列表中获取一系列项,可以使用切片机制。在此,我将从输入获取的整数传递给列表切片。data [:] 将像列表的完全副本一样获取所有项。如果您将输入作为3,则它将为您提供从0号位置索引到3号位置索引的新项列表。 - Afnan Ashraf

0

list[:3]

您可以使用切片来实现此操作。注意:不要将您的列表命名为list!请给它取一个别的名字,因为您将无法再调用list()


OP 依赖用户输入。硬编码 3 似乎有些问题。 - Tomerikoo
你可以将3替换为num,如果num的值发生变化,对吧? - Eren145
1
当然可以。我用3作为例子是为了让你理解切片的工作原理。一个整数变量也可以完成同样的工作。 - PacketLoss
3
可以将其替换为“num”,只要它是整数。如果是字符串,它将无法使用。 - ScarletCoder16

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接