[英]How do I compare one list against the other in Python?
我想将列表I1
与I2
和 append 元素进行比较,这些元素小于或等于I1
中的特定元素。 但我遇到了一个错误。 为了清楚起见,我展示了所需的 output。 在此先感谢您的帮助。
I1= [1, 4, 5, 8]
I2 = [2, 3, 5, 6]
J = [i for i in I1 if i <= I2]
print(J)
错误是
in <listcomp>
J = [i for i in I1 if i <= I2]
TypeError: '<=' not supported between instances of 'int' and 'list'
所需的 output 是
Output=[[],[2,3],[2,3,5],[2,3,5,6]]
[[x for x in I2 if x < y] for y in I1]
我使用这种紧凑的写作是因为您尝试这样做。 但是当然,如果你更舒服的话,你应该编写更少pythonesque但更明确的算法。 例如具有中间功能
例如
def lessThan(ref, I):
return [x for x in I if x<ref]
J=[lessThan(x, I2) for x in I1]
I1= [1, 4, 5, 8]
I2 = [2, 3, 5, 6]
J = [[i2 for i2 in I2 if i2 <= i1] for i1 in I1]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.