在差异数据类型的元组中查找元素的地址

Find address of element in tuple of diff data types

我有元组a=("Orange", [10,20,30], (24,25,66)) 当用户输入 "O" 它显示正确的索引 0 0 好, 但是当我输入 10 时没有任何反应,为什么?它必须显示 1 0

a=("Orange", [10,20,30], (24,25,66))
q=input()
for i in a:
    if isinstance(i,str):
        if q in i:
            print(a.index(i),i.index(q))
    elif isinstance(i,tuple) or isinstance(i,list):
        if q in i:
            print(a.index(i),i.index(int(q)))

当你输入10时,真正发生的是q被分配给"10",即两个字符的字符串。

您的 tuple a 包含一个数字列表:[10, 20, 30],所有元素都是整数,其中 none 是字符串。

您可以更改 elif 以查找整数,如下所示:

    ...
    elif isinstance(i,tuple) or isinstance(i,list):
        num = int(q)
        if num in i:
                print(a.index(i), i.index(num))