sas*_*llo 1 python tuples list python-2.7
我想要一个由ziped列表组成的变量,但只有那些被选中的变量.那是,
selected = (True, True, False)
mylist1 = [1,2,4]
mylist2 = [4,5,8]
mylist3 = [3,2,7]
Run Code Online (Sandbox Code Playgroud)
所以,我想要的是mylist = zip(mylist1, mylist2)如果selected像上面那样.也就是说,我zip只想标记为标记为的那些列表True.目前我有一堆if-else,看起来很难看.稍后我将需要对三个以上的列表做同样的事情,我觉得必须有一个更通用的解决方案.在那儿?
我喜欢代表你 itertools.compress()
lists = [mylist1, mylist2, mylist3]
result = zip(*itertools.compress(lists, selected))
Run Code Online (Sandbox Code Playgroud)
compress创建一个迭代器,用于从数据中过滤元素,只返回那些在选择器中具有相应元素且评估为True的元素.当数据或选择器可迭代用尽时停止.
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |