Python 如何检查我想要的整数是否在我的值内(如果int不可数)

Python 如何检查我想要的整数是否在我的值内(如果int不可数),python,key,keyword-argument,Python,Key,Keyword Argument,我正在尝试运行以下测试代码: def test(**kwargs): for key, value in kwargs.items(): if 'sdk' in key: print value if 1 in value: print 'HelloWorld' test(sdk=1) 但它当然会给我错误,因为整数是不可数的,那个么你们怎么检查你们想要的整数是否是内部值呢?感谢您使

我正在尝试运行以下测试代码:

def test(**kwargs):
    for key, value in kwargs.items():
        if 'sdk' in key:
            print value
            if 1 in value:
                print 'HelloWorld'    

test(sdk=1)

但它当然会给我错误,因为整数是不可数的,那个么你们怎么检查你们想要的整数是否是内部值呢?感谢您使用
以及将
'1'
str
类型的
值进行比较:

def test(**kwargs):
    for key, value in kwargs.items():
        if 'sdk' in key and '1' in str(value): # True in case of test(sdk=19)
                print('HelloWorld')

test(sdk=1)

如果您不希望将
1
转换为
str
'1'
,则可以使用
==

if 'sdk' in key and 1 == value: # False in case of test(sdk=19)
输出

HelloWorld

使用
并将
'1'
str
类型的
进行比较:

def test(**kwargs):
    for key, value in kwargs.items():
        if 'sdk' in key and '1' in str(value): # True in case of test(sdk=19)
                print('HelloWorld')

test(sdk=1)

如果您不希望将
1
转换为
str
'1'
,则可以使用
==

if 'sdk' in key and 1 == value: # False in case of test(sdk=19)
输出

HelloWorld

如果value==1,则实际应该使用的表达式是

如果值中的1
要求
是一个可数(例如数组或dict),如果值中包含1,则返回True,否则返回False

如果
value
不是一个iterable,您将得到一个异常:

>>> arr = [1, 2, 3]
>>> 1 in arr
True
>>> 4 in arr
False
>>> not_arr = 1
>>> 1 in not_arr
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument of type 'int' is not iterable
>>> not_arr == 1
True
>>> not_arr == 2
False
arr=[1,2,3] >>>1英寸arr 真的 >>>4英寸arr 假的 >>>非arr=1 >>>1英寸未对齐 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 TypeError:类型为“int”的参数不可编辑 >>>not_arr==1 真的 >>>not_arr==2 假的
如果value==1,您实际应该使用的表达式是

如果值中的1
要求
是一个可数(例如数组或dict),如果值中包含1,则返回True,否则返回False

如果
value
不是一个iterable,您将得到一个异常:

>>> arr = [1, 2, 3]
>>> 1 in arr
True
>>> 4 in arr
False
>>> not_arr = 1
>>> 1 in not_arr
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: argument of type 'int' is not iterable
>>> not_arr == 1
True
>>> not_arr == 2
False
arr=[1,2,3] >>>1英寸arr 真的 >>>4英寸arr 假的 >>>非arr=1 >>>1英寸未对齐 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 TypeError:类型为“int”的参数不可编辑 >>>not_arr==1 真的 >>>not_arr==2 假的
str(value)
中的
'1'怎么样?@Vlad,看看下面发布的答案是否有用?str(value)
中的
'1'怎么样?@Vlad,看看下面发布的答案是否有用?@Aran-Fey这是我在之前的编辑中所做的,但后来我想到了
测试(sdk=19)
案例。@Aran-Fey
1在[1,9]
中具体来说?@Aran-Fey好的,我只是重新调试了一下,它没有这样做。修好了,谢谢@Aran Fey这是我在之前的编辑中所做的,但后来我想到了
test(sdk=19)
case.@Aran Fey
1 in[1,9]
具体来说?@Aran Fey好的,我只是重新调试了,它没有这样做。修好了,谢谢!