Python 将列表读入函数
我是新来的,每天都在学习。任何帮助都将不胜感激 因此,我有2个文件,我试图通过以下方式从另一个文件中读取列表: 从第二页导入* main.pyPython 将列表读入函数,python,list,Python,List,我是新来的,每天都在学习。任何帮助都将不胜感激 因此,我有2个文件,我试图通过以下方式从另一个文件中读取列表: 从第二页导入* main.py listx = [ ["BMW", "True", "99"], ["Honda", "False", "06"], ["Toyota", "True",
listx = [ ["BMW", "True", "99"],
["Honda", "False", "06"],
["Toyota", "True", "88 ] ]
x = input("What car are you looking for? : ")
findthis(x)
2ndpage.py
from main import listx
def findthis(car):
for row in listx:
i=0
if car in listx[i]:
print(car) # printing all the list that contains the car name
else:
i=+1
AttributeError:部分初始化的模块“2ndpage”没有属性“findthis”(很可能是由于循环导入)
我不知道该怎么做。列表必须位于主页面上,并调用主页面上的函数。函数def必须在第二页上。
任何帮助都将不胜感激。谢谢这是经典的循环依赖项导入。如果简单地说:您尝试将主文件导入到第二个页面,并将第二个页面导入到主页面,它们会在循环中不断导入自己 因此,您需要将列表移动到一个文件中,如:
listx = [ ["BMW", "True", "99"],
["Honda", "False", "06"],
["Toyota", "True", "88" ]
]
def findthis(car):
for row in listx:
i=0
if car in listx[i]:
print(car) # printing all the list that contains the car name
else:
i=+1
在main.py中,你就是这么做的
findthis(x)
也许只需添加另一个参数来查找此函数。
查找此(汽车、列表)
这应该行得通。现在您不需要导入listx。正如其他人所提到的,您的代码会导致循环导入。您可以做的一件事是让您的
查找此
将列表和名称作为参数,然后将其从2ndpage.py导入main.py,并使用listx
和x
作为参数调用
然后,您的2ndpage.py将如下所示:
def findthis(car_list, car_name):
for row in car_list:
i=0
if car_name in car_list[i]:
print(car_name)
else:
i=+1
from 2ndpage import findthis
listx = [ ["BMW", "True", "99"],
["Honda", "False", "06"],
["Toyota", "True", "88" ] ]
x = input("What car are you looking for? : ")
findthis(listx, x)
你的main.py是这样的:
def findthis(car_list, car_name):
for row in car_list:
i=0
if car_name in car_list[i]:
print(car_name)
else:
i=+1
from 2ndpage import findthis
listx = [ ["BMW", "True", "99"],
["Honda", "False", "06"],
["Toyota", "True", "88" ] ]
x = input("What car are you looking for? : ")
findthis(listx, x)
正如上面所说,您有循环导入:模块彼此导入。排列代码,使依赖项是单向的,例如,将
listx
传递给find此
作为参数,或将其移动到第二个模块。切勿重新导入正在启动的模块(此处:main.py
)!这将导致循环导入。问题是,我不能将列表移到另一页,这使我困惑:也不允许添加更多的参数