我有一个清单:
key: [[1, 3, 4, 5, 3]]
我需要获得像
这样的列表key: [[6, 5, 8, 7, 6]]
我怎么能用Python做到这一点?
答案 0 :(得分:0)
一种简单的方法:
>>> my_list = [1, 3, 4, 5, 3]
>>> new_list = []
>>> for i,x in enumerate(my_list):
... if i==0:
... new_list.append(my_list[-1] + my_list[i+1])
... elif i==len(my_list)-1:
... new_list.append(my_list[0] + my_list[i-1])
... else:
... new_list.append(my_list[i-1] + my_list[i+1])
...
>>> new_list
... [6, 5, 8, 7, 6]
答案 1 :(得分:0)
你可以使用列表理解:
[a[i-1]+(a+a[:1])[i+1] for i in range(len(a))]
这是因为:
a[-1]
返回列表的最后一个元素a+a[:1]
将列表的第一个元素附加到结尾答案 2 :(得分:0)
功能性方法:
from operator import add
list(map(add, key[1:]+key[:1], key[-1:] + key[:-1]))
# [6, 5, 8, 7, 6]