如何检查列表中是否存在数据,列表中是否包含多种数据类型?

时间:2019-05-24 12:52:18

标签: python list

我正在尝试检查用户输入的数据是否已经存在于我的列表中,这里面临的问题是我有一个具有多种数据类型的列表。

因此,即使用户输入的数字是整数,它也将作为字符串,即使该数字在列表中,代码也不会显示在列表中

如果我将用户输入声明为“ int”,则用户无法输入字符串数据。我想从相同的代码中获取用户输入,但是具有多种数据类型。

如果我使用整数或String单一数据类型,则代码工作正常。但是我面临多种数据类型的问题。

my_list = ("a", "b", "c",4,5,6)

x= (input("Enter data : "))
if x in my_list:   
    print('Yes, in the list')
else:
    print('No, not in the list')

用户应该能够输入数据而与数据类型无关,是整数还是字符串,并且代码应检查数据是否在my_list中可用?

2 个答案:

答案 0 :(得分:2)

一个选项可以将my_list的元素转换为str

my_list = ("a", "b", "c",4,5,6)
my_list = [str(s) for s in my_list]  # Here, converting all elements to str

x = (input("Enter data : "))

if x in my_list:
    print('Yes, in the list')
else:
    print('No, not in the list')

答案 1 :(得分:0)

我找到了另一种解决方案。我可以使用tryexcept函数。

my_list = ('a', 'b', 'c',4,5,6)
x= (input("Enter data : "))
try:
    val = int(x)
    if val in my_list:   
        print('Yes, in the list')
    else:
        print('No, not in the list')
except ValueError :
    if x in my_list:   
        print('Yes, in the list')
    else:
        print('No, not in the list')