我正在尝试检查用户输入的数据是否已经存在于我的列表中,这里面临的问题是我有一个具有多种数据类型的列表。
因此,即使用户输入的数字是整数,它也将作为字符串,即使该数字在列表中,代码也不会显示在列表中。
如果我将用户输入声明为“ 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中可用?
答案 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)
我找到了另一种解决方案。我可以使用try
和except
函数。
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')