我有一个清单
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']
答案 0 :(得分:2)
这可能有效:
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。
如果ValueError
的第一个和最后一个元素不在Grade
中,这将引发一个List
。
答案 1 :(得分:0)
看起来像您需要的。
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']
答案 2 :(得分:0)
Grade.insert(Grade.index('8'), l[l.index('8')+1])
或以这种方式处理上一个项目
Grade.insert(Grade.index('K'), l[l.index('K')-1])
最好不要将您的列表称为“列表”,因为这是python中的现有类
答案 3 :(得分:0)
List = ['PK', 'K', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
Grade = ['K','4','8']
List[:List.index(Grade[0])]+ Grade + list(List[List.index(Grade[-1])+1])
#['PK', 'K', '4', '8', '9']