python - 如何只循环一次列表中的关系?

标签 python

我有一个用户列表:

users = [1,2,3,4,5]

我想计算它们之间的关系:

score = compatibility( user[0], user[1] )

如何遍历用户以便用户之间的关系只计算一次?

最佳答案

如果您只关心有序关系,您可以执行以下操作:

>>> for i, u in enumerate(users[1:]):
    print(users[i], u)           # or do something else


1 2
2 3
3 4
4 5

如果您需要所有组合,您应该使用 itertools.combinations :

>>> import itertools
>>> for i in itertools.combinations(users, 2):
    print(*i)

1 2
1 3
1 4
1 5
2 3
2 4
2 5
3 4
3 5
4 5

关于python - 如何只循环一次列表中的关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1420705/

相关文章:

python - "is None"和 "== None"有什么区别

python - 重命名 csrfmiddlewaretoken

python - 如何将 JSON 数据转换为 Python 对象?

python - 透明颜色 Tkinter

python - 将 Bytearray 编码为 UTF-8

python - 文件名中当前年份和月份的模式匹配

python - 类型错误 : 'JavaPackage' object is not callable

Python Pandas 追加 Dataframe 多进程池 for 循环以存在 Data-frame

python - 如何在python变量中存储aws组织单元ID和scp策略ID?

python:这是为类方法和方法使用相同函数名的好方法吗?