繁体   English   中英

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

[英]How do I check whether data exist in list or not, my list has multiple data types contets?

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

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

如果我将用户输入声明为“ 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中可用?

一种选择是将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')

我找到了另一个解决方案。 我可以使用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') 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM