考虑我的程序中有以下代码块来从大文本文件中读取数据:
sets = []
for line in open(file, "r"):
sets.append(line.split()) # sets is a list of lists
Run Code Online (Sandbox Code Playgroud)
我不想更改列表中的值.因为元组在内存和处理器上更容易,我应该做以下事情吗?
sets = []
for line in open(file, "r"):
sets.append(tuple(line.split())) # sets is a list of tuples
Run Code Online (Sandbox Code Playgroud)
或者只是使用列表,因为数据是同质的?如果元组更好,我可以过火并执行此操作:
sets = tuple(sets)
Run Code Online (Sandbox Code Playgroud)
元组和列表之间的区别是有序的含义.元组和列表都是有序序列,但是列表应该是同构的,而元组通常从它们的顺序中依次绘制含义.例如,有序对是一个元组,因为
(3, 5)
Run Code Online (Sandbox Code Playgroud)
完全是一个不同的对象
(5, 3)
Run Code Online (Sandbox Code Playgroud)
在您的情况下,出现的同类数据不需要是不可变的,也不会从其位置中得出任何含义.因此,我会使用列表列表,而不是元组列表.