python-3.x - 如何比较一个类的实例
问题描述
使用 pygame,我试图用 2 个 for 循环来比较一个类的每个实例,但不是它本身。我只是不清楚如何排除一审。帮助会很好
编辑:它们存储在列表中
解决方案
您可以使用该enumerate
函数,以便对于每个实例,您都可以在列表中获得它的索引。然后,对于您的第二个循环,您避免使用该索引。
enumerate
是一个内置函数,它接受一个可迭代对象并在 for 循环中为您提供一个运行计数器。
所以,
for k, word in enumerate(['alfa','bravo','charlie']):
print(k, word)
生产
0 alfa
1 bravo
2 charlie
for k, x in enumerate(list_of_instances):
for y in (_ for j,_ in enumerate(list_of_instances) if j != k):
do_a_thing()
编辑:
您也可以对内循环使用切片。IE,
for y in list_of_instances[:k]:
do_a_thing()
for y in list_of_instances[k:]:
do_a_thing()
推荐阅读
- sql - 将列插入到其中一列不允许空值的新表中
- java - Java FileInputStream.read() 打印时显示不需要的字符
- apache-spark - 如何使用 PySpark 过滤当前日期的 PySpark DataFrame
- python - 我如何获得异步 python 的好处?
- javascript - 完美的循环帧数
- api - 尝试更新视频片段时,我总是收到 Forbidden 响应
- python - Django:计算提交的表单
- android - 我如何知道 RecyclerView 将膨胀多少项目?
- haskell - 如何更改 Haskell 函数的类型
- quickbooks - QBWC1048:QuickBooks Web 连接器无法验证 Web 应用程序服务器证书(QuickBooks POS 19.0 + QuickBooks Web 连接器 2.1.0.30)