Python 如何知道一个数字是否在另一个数字中

Python 如何知道一个数字是否在另一个数字中,python,numbers,Python,Numbers,我有一份清单: numbers = [12, 23, 26, 54] 我需要知道每对数字是否至少有一个共同数字。例如,12有数字1和2,因此应该包括这对(12,23),因为它们都有数字2。我想把这对情侣的名单寄回来。比如说 >>> numbers = [12, 23, 26, 54] >>> function(numbers) [(12, 23), (12, 26), (23, 12), (23, 26), (26, 12), (26, 23)] 这是我的

我有一份清单:

numbers = [12, 23, 26, 54]
我需要知道每对数字是否至少有一个共同数字。例如,
12
有数字
1
2
,因此应该包括这对(12,23),因为它们都有数字
2
。我想把这对情侣的名单寄回来。比如说

>>> numbers = [12, 23, 26, 54]
>>> function(numbers)
[(12, 23), (12, 26), (23, 12), (23, 26), (26, 12), (26, 23)]
这是我的代码

pari_his=([12, 23, 26, 54])
par=set()
parus=[]
b=list()
c=list()
resitev=list()
for i in pari_his:
    i=str(i)
    for e,j in enumerate(i):
        if e%2==0:
            b.append(j)
        else:               
            c.append(j)
print(b,c)
for ena, dva in zip(b, c):
    kuku=(ena,dva)              
    parus.append(tuple(kuku))
print(parus)
for juj in parus:
    print(juj[0],juj[1])

使用
itertools.product
获取元组(必须两次过滤掉相同的数字),然后使用
set
设置数字的交点,查看它们是否有任何共同的数字

import itertools
numbers = [12, 23, 26, 54]
[t for t in itertools.product(numbers, numbers) if set(str(t[0])) & set(str(t[1])) and t[0] != t[1]]

[(12, 23), (12, 26), (23, 12), (23, 26), (26, 12), (26, 23)]
如果没有
itertools
,您可以自己构建元组

numbers = [12, 23, 26, 54]
[(i, j) for i in numbers for j in numbers if set(str(i)) & set(str(j)) and i != j]

[(12, 23), (12, 26), (23, 12), (23, 26), (26, 12), (26, 23)]

1.你自己试过什么?2.你能提供(最好是多个)输入及其预期输出吗?那么你想知道列表中哪些数字有特定的数字吗?>>>数字([12,23,26,54])因为你没有在这里展示你的任何努力,所以会出现反对票。我们能帮你做什么?为你编写代码?Sry只是添加我的程序Sry不想看起来像个混蛋,但是的,我被卡住了,不知道如何去做,但是我不明白如果有人能在没有Intercool的情况下做到这一点,这是怎么回事grate@user3433946未使用itertools的更新示例