if xx in 列表 and xx in 列表 or xx in 列表。当有or存在 结果是否与想要的结果不一样。and or逻辑运算关系

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
import random

list = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
k = random.sample(list, 3)
print(k)
list01 = ['0', '1']


if ('1' in k and '0' in k ) or '2' in k :
    print('01 in ')

运行结果及报错内容

['7', '2', '1']
01 in

我的解答思路和尝试过的方法

我想要达到的结果是 ‘0’ 和 ‘1’ 同时存在时,再考虑是否存在‘2’,

是这样吗

list = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
    k = random.sample(list, 3)
    print(k)
    list01 = ['0', '1']
    if ('1' in k and '0' in k) :
        if('2' in k):
            print('01 in ')

你把判断‘2’在不在列表中放在判断0和1在不在的if 里面

if  '1' in k and '0' in k :
     if '2' in k:
        print('01 in ')

那你既然是 是 ‘0’ 和 ‘1’ 同时存在时,再考虑是否存在‘2’,也就是说,‘2’的条件是在第二位的,那就你不要写到同一个 if中,应该用嵌套if