社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

在python的[]中使用break或continue会产生错误[duplicate]

一笑奈何 • 7 年前 • 2537 次点击  

我如何根据一个条件打破列表理解,例如 412 找到了吗?

代码:

numbers = [951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
           615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
           386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345, 399,
           162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217, 815, 67,
           104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717, 958, 609, 842,
           451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470, 743, 527]

even = [n for n in numbers if 0 == n % 2]

所以从功能上来说,你可以推断这是应该做的:

even = [n for n in numbers if 0 == n % 2 and break if n == 412]

我 真正地 首选:

  • 一行字
  • 如果可能的话,没有像itertools这样的高级库,“纯python”(阅读:解决方案不应该使用任何 import 声明或类似)
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/47039
文章 [ 7 ]  |  最新文章 7 年前