Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 断言包含特定长度字符串的列表_Python - Fatal编程技术网

Python 断言包含特定长度字符串的列表

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) 这似乎有效

我有一个字符串列表,我想确保没有长度大于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 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