我试图退出某个功能但无法找到合适的解决方案
def importer():
with open('books.txt','r') as f:
for line in f:
books = line.strip().split(',')
print(books)
with open('ratings.txt','r') as f:
for line in f:
ratings = line.strip().split(' ')
print(ratings)
return ratings,books
importer()
print(books,ratings)
使用此方法,当我离开函数时,字典再次为空。为了解决这个问题,我将功能设置为
books = importer()
但不确定如何为多个词典执行此操作
答案 0 :(得分:1)
ratings, books = importer()
应该是您在打印声明正上方缺少的代码行。
Python会自动映射返回的变量。这被称为价值拆包。 例如,此代码将1,2,3映射为x,y,z:
x, y, z = [1,2,3]
您需要提供所提供的确切数量的变量。干
x,y = [1,2,3]
将返回错误,就像x,y,z,a = [1,2,3]
有一种方法可以绕过这个,使用*
x,*y,z = [1,2,3,4,5]
x = 1
y = [2,3,4]
z = 5
python的这个属性,解包值,比列表更深入。几乎任何东西都可以解压缩 - 元组,列表,字典,独立值等。