Python 断言包含特定长度字符串的列表
我有一个字符串列表,我想确保没有长度大于20的字符串,因此我执行了以下操作:Python 断言包含特定长度字符串的列表,python,Python,我有一个字符串列表,我想确保没有长度大于20的字符串,因此我执行了以下操作: assert not any(name for name in my_list if len(name) > 20) 这似乎有效,但当我执行以下操作时,它没有按预期工作,不应该工作吗 assert any(name for name in my_list if not len(name) <= 20) assert any(如果不是len(name),则为my_列表中的name指定name) 这似乎有效
assert not any(name for name in my_list if len(name) > 20)
这似乎有效,但当我执行以下操作时,它没有按预期工作,不应该工作吗
assert any(name for name in my_list if not len(name) <= 20)
assert any(如果不是len(name),则为my_列表中的name指定name)
这似乎有效,但当我执行以下操作时,它没有按预期工作,不应该工作吗
assert any(name for name in my_list if not len(name) <= 20)
否!if len(name)>20
在功能上与if not len(name)完全相同
这似乎有效,但当我执行以下操作时,它没有按预期工作,不应该工作吗
assert any(name for name in my_list if not len(name) <= 20)
否!如果len(name)>20
在功能上与如果不是len(name)完全相同,则更简单的方法是:
assert not any(len(name) > 20 for name in my_list)
assert all(len(name) <= 20 for name in my_list)
这只是检查每个名称,直到找到一个超过20个字符的名称
但更好的方法是:
assert not any(len(name) > 20 for name in my_list)
assert all(len(name) <= 20 for name in my_list)
assert all(len(name)一种更简单的方法是:
assert not any(len(name) > 20 for name in my_list)
assert all(len(name) <= 20 for name in my_list)
这只是检查每个名称,直到找到一个超过20个字符的名称
但更好的方法是:
assert not any(len(name) > 20 for name in my_list)
assert all(len(name) <= 20 for name in my_list)
assert all(len(name))在第二种情况下,您应该使用all
而不是any
在第二种情况下,您应该使用all
而不是any