我有以下解决方案,但是再次遍历数据以删除满足编译器要求的无意义空白(“”)非常浪费。我希望保持该解决方案的紧凑和内联,如图所示。
我该如何重写它以仅在一个条件下返回值?
ans = [x[0] if x[1]==minimum else " " for x in zip(a,b)]
Run Code Online (Sandbox Code Playgroud)
列表项支持将谓词包括在内。
我想你要:
ans = [x[0] for x in zip(a,b) if x[1]==minimum]
Run Code Online (Sandbox Code Playgroud)
或者像这样更清晰一些:
ans = [x for (x,y) in zip(a,b) if y==minimum]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
46 次 |
| 最近记录: |