给定一个元素A,在python中从列表中查找A的上一个和下一个元素

2024-04-25 03:50:37 发布

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

我有一张单子

List = ['PK', 'K', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']

我还有一份名单

Grade = ['K','4','8']

我想从列表中看到“K”之前和“8”旁边的元素,并将其添加到年级。你知道吗

预期结果:

Grade = ['K','4','8','PK','9']

Tags: 元素列表list单子gradepk名单
3条回答

Grade.insert(Grade.index('8'), l[l.index('8')+1])

或者前面的项目是这样的

Grade.insert(Grade.index('K'), l[l.index('K')-1])

最好不要将列表称为“list”,因为它是python中的一个现有类

这可能有用:

Grade = ['K','4','8']
Grade = Grade + [List[List.index(Grade[0]) - 1], List[List.index(Grade[-1]) + 1]]
# ['K', '4', '8', 'PK', '9']

List中获取索引并将其增加或减少1。你知道吗

如果Grade的第一个和最后一个元素不在List中,这将引发ValueError。你知道吗

看来你需要。你知道吗

lst = ['PK', 'K', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
Grade = ['K','4','8']
Grade = Grade + [lst[lst.index(Grade[0])-1], lst[lst.index(Grade[-1])+1]]
print(Grade) # --> ['K', '4', '8', 'PK', '9']

相关问题 更多 >