2024-04-25 23:41:18 发布
网友
我有一个整数列表;它包含整数27,但我们不知道它的索引。你知道吗
我们必须找到索引,然后将其与后面的项交换。如果27的索引是最后一个元素(list[-1]),那么我们将27与第一个元素交换。你知道吗
my_list = [1, 2, 3, 4, 27] # original my_list = [27, 2, 3, 4, 1] # result
我知道当27不是最后一个元素时如何交换它,但是我不知道如何像我展示的示例中那样用第一个元素交换27。你知道吗
一旦您要查找的数字始终存在于列表中,只需使用模进行索引和交换:
my_list = [1, 2, 3, 4, 27] def swap(l,n): ln = len(l) ind = my_list.index(n) l[ind], l[(ind + 1)% ln] = l[(ind + 1) % ln], l[ind]
使用% ln只是意味着我们绕过去,所以当ind = 5如您的示例所示(4 + 1) % 5将为0
% ln
ind = 5
(4 + 1) % 5
输出:
In [45]: my_list = [1, 2, 3, 4, 27] In [46]: swap(my_list, 27) In [47]: my_list Out[47]: [27, 2, 3, 4, 1] In [48]: swap(my_list, 4) In [49]: my_list Out[49]: [27, 2, 3, 1, 4]
您可能需要处理n不存在的情况:
def swap(l,n): ln = len(l) try: ind = my_list.index(n) l[ind], l[(ind + 1)% ln] = l[(ind + 1) % ln], l[ind] except IndexError: pass
你在家里干什么取决于你自己。你知道吗
一旦您要查找的数字始终存在于列表中,只需使用模进行索引和交换:
使用
% ln
只是意味着我们绕过去,所以当ind = 5
如您的示例所示(4 + 1) % 5
将为0输出:
您可能需要处理n不存在的情况:
你在家里干什么取决于你自己。你知道吗
相关问题 更多 >
编程相关推荐