在 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
我读入了一个文本文件,格式如下: 奥拉,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