Python在def函数中使用for循环

python using for loop in def function(Python在def函数中使用for循环)
本文介绍了Python在def函数中使用for循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在数据库集合中获取过去7天创建的文档。

fmt = "%Y-%m-%d"
today = datetime.now(timezone('Asia/Seoul'))
for i in range(0, 7):
    target = today - timedelta(days = i)
    week = target.strftime(fmt)
    hot_posts = list(db.collection.find({'date': week}, {'_id': False}).sort('like', -1))
    print(hot_posts)

这将为我提供从数据库中查找的正确文档集。

但当我将其插入def函数时,它不起作用。

fmt = "%Y-%m-%d"
today = datetime.now(timezone('Asia/Seoul'))
@app.route('/api/list/hot', methods=['GET'])
def show_hot():
    for i in range(0, 7):
        target = today - timedelta(days=i)
        week = target.strftime(fmt)
        hot_posts = list(db.collection.find({'date': week}, {'_id': False}).sort('like', -1))
        return jsonify({'hot_posts': hot_posts})

我认为我没有完全理解如何在正确的结构中使用def。 在这种情况下,在python中使用def的正确格式是什么? 我是否需要在for循环之前放置一些变量,并将其设置为Variable=[],以获得for循环的结果,并将其放入def函数可以使用的变量中? 我是否需要将一些for循环变量放入def函数的()中?

是这样的吗?

fmt = "%Y-%m-%d"
today = datetime.now(timezone('Asia/Seoul'))
@app.route('/api/list/hot', methods=['GET'])
def show_hot(range, list):
    hot_posts = []
    for i in range(0, 7):
        target = today - timedelta(days=i)
        week = target.strftime(fmt)
        hot_posts = list(db.collection.find({'date': week}, {'_id': False}).sort('like', -1))
    return jsonify({'hot_posts': hot_posts})

推荐答案

您可以创建一个空字典,并在迭代时更新它的键和值,然后返回结果字典。我尚未测试This代码,但我认为它应该可以正常工作。

fmt = "%Y-%m-%d"
today = datetime.now(timezone('Asia/Seoul'))
@app.route('/api/list/hot', methods=['GET'])
def show_hot():
    all_hot_posts = {}
    for i in range(0, 7):
        target = today - timedelta(days=i)
        week = target.strftime(fmt)
        hot_posts = list(db.collection.find({'date': week}, {'_id': False}).sort('like', -1))
        all_hot_posts.update({'hot_posts'+str(i+1): hot_posts})
    return jsonify(all_hot_posts)

在python函数中,我们不将关键字定义为参数。它们的解释方式与正常脚本一样。

这篇关于Python在def函数中使用for循环的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)