“索引列表”是什么意思?

时间:2015-09-13 05:17:42

标签: python list indexing

我是一个类中的python的新手,当前的作业是:

“编写一个函数,它接受一个列表,索引到列表,另一个索引列出并交换单个列表的两个索引列表中的数据。”

我不知道老师试图让我做什么。 任何人都可以用外行的话来解释这个问题吗?

2 个答案:

答案 0 :(得分:1)

假设您的列表是[A,B,C,D,E],并且您将获得3,1作为索引。

您应该在索引3(D)和索引1(B)处交换项目,以便现在列表:

[A,D,C,B,E]

我假设他希望你做这个交换'到位'。由此,他不希望你创建一个新的列表。您应该修改原始列表。

我会和你的教授确认一下,确保你不会失分。

答案 1 :(得分:1)

列表是有序的对象集合。例如,你可能有一个班级(参与残酷的战斗俱乐部,但由于显而易见的原因从未讨论过)的学生名单

list = [
    "Christopher" , # Christopher is the best fighter, so he's first in the list
    "John" ,
    "Alex" ,
    "Sarah" ,
    "Elizabeth"
]

假设您要将列表提供给某人,但也想告诉他们您关心该列表中的"Alex"。你是怎么做到的?

你也可以给他们字符串"Alex",但是另一个人必须弄清楚"Alex"列表中的位置。

相反,您可以在列表中为他们提供索引 - 这是一个描述您正在考虑的列表中哪个项目的数字。例如,上述列表中"Alex"的索引为2 ...

...这引出了一个重要的注意事项:列表是“0索引”[在大多数语言中],这意味着你开始计数为0(所以克里斯托弗是0,约翰是1,亚历克斯是2,莎拉是3,伊丽莎白是4)。因此:

print list[1]

打印出来:

John

所以你的教授说的是你应该写一个函数,有人给你一个列表,两个索引进入该列表,你应该交换它们 (粗体因为您可以搜索Stack Overflow以了解如何交换列表中的项目并获得良好的答案以向您显示路径。

所以,让我们说我给你上面的列表,以及索引14。我基本上是在告诉你把约翰和伊丽莎白交换到名单中(也许约翰和伊丽莎白参加了一场斗争,以确定谁应该成为他们班上的第二人,伊丽莎白赢了,例如......)

您的函数的结果应如下所示:

list = [
    "Christopher" , # item 0
    "Elizabeth" , # item 1
    "Alex" , # item 2
    "Sarah" , # item 3
    "John" # item 4
]