python 判断相邻数字

计算列表[3,3,4,2,1,5,3,2,6,2,4,2]中2和3的邻居分别是什么?它们的邻居完全一样吗?

如果不一样,那他们有相同的邻居吗?

注:一个数的邻居是只和它在列表中相邻的元素,比如4的邻居是3,2。

(用python语言编程表示)


lst = [3, 3, 4, 2, 1, 5, 3, 2, 6, 2, 4, 2]

# 找到2和3在列表中的索引位置
idx2 = lst.index(2)
idx3 = lst.index(3)

# 找到2和3的左右邻居
neighbors2 = [lst[idx2-1], lst[idx2+1]]
neighbors3 = [lst[idx3-1], lst[idx3+1]]

# 判断2和3的邻居是否完全一样
if neighbors2 == neighbors3:
    print("2和3的邻居完全一样")
else:
    print("2的邻居为", neighbors2)
    print("3的邻居为", neighbors3)

# 判断2和3是否有相同的邻居
common_neighbors = list(set(neighbors2) & set(neighbors3))
if common_neighbors:
    print("2和3有相同的邻居,为", common_neighbors)
else:
    print("2和3没有相同的邻居")

博主请试一下这段代码


a = [3,3,4,2,1,5,3,2,6,2,4,2]

b = {2:[],3:[]}

for i in range(len(a)):
    if a[i] in (2,3):
        t = []
        if i > 0:
            t.append(a[i - 1])
        if i < len(a) - 1:
            t.append(a[i + 1])
        b[a[i]].append(tuple(t))

print(b)

img