在 python 我应该怎么做,在将文件读入二维列表后,使用函数,不让二维列表为空

In python how am I supposed to, after reading the file into a 2D list, using a function, not let the 2D list empty

我读入了一个文本文件,格式如下: 奥拉,2 奥拉,4 奥拉,6

我使用删除列表中所有备用元素的读取功能读取了这个文件:

import csv

def read(name,practicef):
    temp=[]
    name=name+".txt"
    practicef = list(csv.reader(open(name,"r")))
    print(practicef)
    print(len(practicef))
    temp=practicef
    practicef=[]
    for item in temp:
        if item!=[]:
            practicef.append(item)
            print(practicef)
    return practicef

然后当我想将列表中的元素与我的密码进行比较时,列表是空的,我只是想知道它为什么这样做以及我如何避免它。 按顺序排列的整个代码是:

import csv

def read(name,practicef):
    temp=[]
    name=name+".txt"
    practicef = list(csv.reader(open(name,"r")))
    print(practicef)
    print(len(practicef))
    temp=practicef
    practicef=[]
    for item in temp:
        if item!=[]:
            practicef.append(item)
            print(practicef)
    return practicef



practicef=()
name="lollington"
read(name,practicef)
use=input("use")
pw=input("pw")
print(len(practicef))

for i in range(0,len(practicef)):
    print(use,pw)
    print(practicef[i][0],practicef[i][1])
    if use== practicef[i][0] and pw == practicef[i][1]:
        print("successful login")

很难理解您想做什么,但实际上您并没有使用函数的结果。

practicef = read(name,practicef)

让你更接近你想去的地方?

这是更改后的输出(在打印件上添加了一些额外内容,以便更容易看出它们的来源):

in read [['ola', '2 ola', '4 ola', '6']]
len in read 1
[['ola', '2 ola', '4 ola', '6']]

use: ola

pw: 2
outer list len after fcn call: 1
uid ola pw 2
ola 2 ola