试图从一个子例程到另一个子例程获取列表

2024-05-01 21:55:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在从一个文件的数据创建一个列表,我不能在它的原始子例程之外使用该列表,我如何才能使它成为全局的,这样我就可以在任何地方使用它并更改它

def selecting_qs():
    global main_list
    dif = difficulty.get()
    print(main_list,dif)


#main list order:
#Question ID  ,  Difficulty  ,  Topic  ,  Answer ID  ,  Picture ID  ,  Frequency 
def main_file_info():
    main_file = open("main_file.txt","r")
    main_file_info=main_file.readlines()
    for line in main_file_info:
        main_list=line.split("@")

    main_list=main_list[1:len(main_list)-1]
    main_file.close()

    return(main_list)

Tags: 文件数据infoid列表maindef地方
1条回答
网友
1楼 · 发布于 2024-05-01 21:55:05

要传递函数中使用的变量,只需返回它们,分配它们,然后通过他们。在当前脚本中,这将如下所示:

def selecting_qs(a_list):
    # global  <  main_list this is not needed and can lead to problems!
    dif = difficulty.get()
    print(a_list, dif)


#main list order:
#Question ID  ,  Difficulty  ,  Topic  ,  Answer ID  ,  Picture ID  ,  Frequency 
def main_file_info():
    main_file = open("main_file.txt","r")
    main_file_info=main_file.readlines()
    for line in main_file_info:
        main_list=line.split("@")

    main_list=main_list[1:len(main_list)-1]
    main_file.close()

    return main_list  # returning the item(s) thus making them accessible from the outer scope

my_main_list = main_file_info()  # assigning the item(s) to a variable
selecting_qs(my_main_list)  # passing the item(s) to another function

如果有悬而未决的问题,请让我知道

相关问题 更多 >