为了账号安全,请及时绑定邮箱和手机立即绑定

获取列表的迭代元素并将其附加到另一个列表

获取列表的迭代元素并将其附加到另一个列表

不负相思意 2023-03-08 11:11:19
我想制作一个列表,这个列表的元素来自 Flask 的用户输入。这是我执行此操作的代码:    data = pd.read_csv('data_file_path.csv')    data = list(data.columns)该行的输出是:['A1', 'A2', 'A3', 'A4', 'A5']我正在使用 Flask 获取用户输入(一次一个元素作为下拉输入),它是:columns = [request.form.get('columns')]最后,我创建了一个空列表并将用户元素附加到该列表中,代码如下:    list1 = []    try:        for line in columns:            list1.append(line)        print(list1)    except TypeError:        pass完整代码为:    data = pd.read_csv('File_Path.csv')    data = list(data.columns)    columns = [request.form.get('columns')]    list1 = []    try:        for line in columns:            list1.append(line)        print(list1)    except TypeError:        pass但是,我得到的输出如下所示,每次我提供新输入时,以前的输入都会被删除。(当我从下拉列表中选择 A1 时)Finaloutput: ['A1']我想制作一个这样的列表(当用户从下拉列表中选择列并将其添加到最终列表时追加)这意味着如果用户从下拉列表中选择一个元素然后它被添加到列表但前一个不会被删除。像这样(如果我从用户输入中选择 A1 到 A5)['A1', 'A2', 'A3', 'A4', 'A5']
查看完整描述

1 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

您应该在 api 端点之外声明您的数组。否则数组将在每次 api 调用中被清空:


list1 = []

@app.get("/")

def add_item(request):

    columns = [request.form.get('columns')]

    try:

        for line in columns:

            list1.append(line)

        print(list1)


    except TypeError:

        pass

请注意,在上面的代码中,我声明list1为全局变量,因此我附加到它的项目将按时保留。


注意:中的数据list1只会保留在内存中,当您停止服务时,数据将会丢失。如果你想在停止服务时保留你的数据,你需要将它保存在数据库中。


查看完整回答
反对 回复 2023-03-08
  • 1 回答
  • 0 关注
  • 72 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信