【问题标题】:How to range the items in function?如何对函数中的项目进行范围划分?
【发布时间】:2019-07-16 05:45:52
【问题描述】:

如何使这个范围正常工作。每当我限制n 时,它都会无限制地给出每个结果。这里我使用了Destination(),它是models.py中的一个类

# This is to show you
def generator(f, n, *args, **kwargs):
    return (f(*args, **kwargs) for __ in range(n))

# Here is a problem
target1 = Destination.objects.all()
for field in target1:
    [Destination(img = f'{field.img}',title = f'{field.title}') for __ in range(2)]

#models.py
class Destination(models.Model):
    title = models.CharField(max_length=255)
    img = models.CharField(max_length=255)

【问题讨论】:

    标签: python html django


    【解决方案1】:

    对于生成器,您必须使用yeild 而不是return

    试试这样的:

    def generator(f, n, *args, **kwargs):
        i=0
    
        while i < n:
            yeild f(*args, **kwargs)
            i += 1
    

    参考:https://www.geeksforgeeks.org/use-yield-keyword-instead-return-keyword-python/

    【讨论】:

    • 请检查问题。
    猜你喜欢
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    相关资源
    最近更新 更多