2024-09-30 08:24:54 发布
网友
当我有两个列表时:
list1 = ['course1', 'course2', 'course3', 'course4', 'course5'] list2 = [12, 3, 3, 4, 5]
我只想在满足条件的情况下压缩索引列表项。否则,对于列表索引项:0。在
我建议使用列表理解的简短版本:
[x for x in zip(list1, list2) if x[1] >= 5.5]
如果要从list1和list2中获取一个压缩列表,条件是list2的项应该是{},那么请尝试以下操作:
list1
list2
list3 = [[i,j] for i,j in zip(list1, list2) if j>=5.5]
输出:
忘记zip,创建自己的解决方案:
list1 = ['course1', 'course2', 'course3', 'course4', 'course5'] list2 = [12, 3, 3, 4, 5] def zip_condition(list_a, list_b, func): iter_a = iter(list_a) iter_b = iter(list_b) while 1: try: a, b = next(iter_a), next(iter_b) except StopIteration: return if func((a, b)): yield (a, b) result = list(zip_condition(list1, list2, lambda x: x[1] >= 5.5)) print(result)
我建议使用列表理解的简短版本:
[x for x in zip(list1, list2) if x[1] >= 5.5]
如果要从},那么请尝试以下操作:
list1
和list2
中获取一个压缩列表,条件是list2
的项应该是{输出:
^{pr2}$忘记zip,创建自己的解决方案:
相关问题 更多 >
编程相关推荐