list 作为参数传参的 不能把参数带回来的问题?
def file2list(filename, list_data):
with open(filename, 'r') as f1:
list_data = f1.readlines()
print(list_data)
print('数据记录有%s' % (len(list_data)))
# 读取文件到list中
list4 = []
file2list("text.log", list4)
print(list4)
list4 作为参数传入file2list函数,为什么不可以,把文件中读取的内容打印出来。
用下面的方法才能传出来
def file2list(filename, list_data):
with open(filename, 'r') as f1:
temp = f1.readlines()
for str in temp:
list_data.append(str)
print('数据记录有%s' % (len(list_data)))
在函数中直接赋值,是创建一个新对象;而使用列表的
append
方法是修改原对象。使用id
函数可以证明这一点: