繁体   English   中英

如何将 Python 中的一个列表与另一个列表进行比较?

[英]How do I compare one list against the other in Python?

我想将列表I1I2和 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM