2024-03-28 22:10:49 发布
网友
我有两个模型,多对多,小组和个人。你知道吗
我可以访问组.个人得到相关人员的名单。我在组模型上有一个“last\ individual\ id”列来跟踪最后使用的个人。有了这些信息,我就想知道如何在一个群体中找到下一个人。你知道吗
我想给每个人弄个身份证然后用itertools.循环但我不能指定起点。加上这可能是一个缓慢的方式来做它,如果我能在SQLAlchemy正确地做它。你知道吗
你对如何做到这一点有什么想法吗?我觉得我会为答案如此简单而感到尴尬。。。但我今天没喝咖啡因!你知道吗
谢谢
一种可能是使用itertools.dropwhile文件(但这可能会被限制为您想要的解决方案的范围,因为它也不清楚。)itertools.dropwhile文件不会像这样无限循环地浏览你的列表itertools.循环是的)。你知道吗
你没有提供你的数据模型的很多细节。我想是吧组.个人返回个体对象的列表,“.id”属性表示每个个体的id号。例如,假设您正在查找组.个人地址:
from itertools import dropwhile for item in dropwhile(lambda x: x.id != 7, group.individuals): print item
这将遍历列表,直到找到id=7(或者更准确地说,直到x.id!=7,如图所示itertools.dropwhile文件在第一次错误测试之前不会返回任何内容),然后它将开始从列表中返回单个对象。因此,如果该列表中的id是这样的:[1,19,5,6,7,2,4,5],则返回:7 2 4 5。你知道吗
出于您的目的,听起来您应该忽略第一个返回的响应,然后使用后面的响应。你知道吗
另一种选择是遍历原始的组.个人若要查找所需id的索引,只需增加索引-如果计算的索引超过列表,则还可以从0开始索引,例如:
def nextrecord(recordlist, value): for i in range(len(recordlist)): if recordlist[i].id == value: newindex = i + 1 break if newindex >= len(recordlist): newindex = 0 return recordlist[newindex] print nextrecord(group.individuals, 7)
但是,当然,这是更离散的,是不可迭代的。可能有很多其他的方法来解决这个问题(包括让我的功能变得更容易),但我也还没有喝过我的咖啡因!你知道吗
一种可能是使用itertools.dropwhile文件(但这可能会被限制为您想要的解决方案的范围,因为它也不清楚。)itertools.dropwhile文件不会像这样无限循环地浏览你的列表itertools.循环是的)。你知道吗
你没有提供你的数据模型的很多细节。我想是吧组.个人返回个体对象的列表,“.id”属性表示每个个体的id号。例如,假设您正在查找组.个人地址:
这将遍历列表,直到找到id=7(或者更准确地说,直到x.id!=7,如图所示itertools.dropwhile文件在第一次错误测试之前不会返回任何内容),然后它将开始从列表中返回单个对象。因此,如果该列表中的id是这样的:[1,19,5,6,7,2,4,5],则返回:7 2 4 5。你知道吗
出于您的目的,听起来您应该忽略第一个返回的响应,然后使用后面的响应。你知道吗
另一种选择是遍历原始的组.个人若要查找所需id的索引,只需增加索引-如果计算的索引超过列表,则还可以从0开始索引,例如:
但是,当然,这是更离散的,是不可迭代的。可能有很多其他的方法来解决这个问题(包括让我的功能变得更容易),但我也还没有喝过我的咖啡因!你知道吗
相关问题 更多 >
编程相关推荐