Python-在列表中存储不同数量的元素?

Python-在列表中存储不同数量的元素?,python,Python,以下是我之前的问题: 我意识到在一个列表中会有多个元素块,这些元素可能并不总是限制在3个。例如,我可以: [('love', 'yes', 'no'), ('valentine', 'no', 'yes'), ('day', 'yes','yes'), ('house', 'yes','no'), ('car', 'yes','yes')] [('love', 'yes', 'no'), ('valentine', 'no', 'yes'), ('day', 'yes','yes')

以下是我之前的问题:

我意识到在一个列表中会有多个元素块,这些元素可能并不总是限制在3个。例如,我可以:

[('love', 'yes', 'no'), ('valentine', 'no', 'yes'), ('day', 'yes','yes'), 
   ('house', 'yes','no'), ('car', 'yes','yes')]

[('love', 'yes', 'no'), ('valentine', 'no', 'yes'), ('day', 'yes','yes'), 
   ('house', 'yes','no'), ('car', 'yes','yes'), ('balloon', 'no','no'), 
   ('roses', 'yes','yes')]

var1、var2、var3=listobj
仅适用于其中三个元素块。但更重要的是,一般来说,我如何将所有这些元素块存储到不同的变量中

变量是在代码中显式声明的,因此可以使用的变量数是确定的,无法将长度未知的元组(或列表)解包为确定的变量数。但是您可以使用
*
在python3中制作:

>>> a, *b, c = range(5)
>>> a
0
>>> c
4
>>> b
[1, 2, 3]

变量在代码中显式声明,因此可以使用的变量数量是确定的,无法将长度未知的元组(或列表)解包为确定的变量数量。但是您可以使用
*
在python3中制作:

>>> a, *b, c = range(5)
>>> a
0
>>> c
4
>>> b
[1, 2, 3]

如果
listobj
的长度不确定,则直接将其用作列表,而不是将其解包为变量


打开不同大小的列表没有任何意义。假设您可以动态地将
listobj
解压为尽可能多的变量(如var1、var2、var3…只要需要)。您将如何编写使用这些变量的代码?你会突然需要知道它们的数字,以及一些巧妙的方法来索引一个特定的数字,或者循环它们。猜猜看-这正是为什么首先要有列表。

如果
listobj
的长度不确定,请直接将其用作列表,而不是将其解压为变量


打开不同大小的列表没有任何意义。假设您可以动态地将
listobj
解压为尽可能多的变量(如var1、var2、var3…只要需要)。您将如何编写使用这些变量的代码?你会突然需要知道它们的数字,以及一些巧妙的方法来索引一个特定的数字,或者循环它们。猜猜看——这就是为什么首先要有列表。

您真的需要将所有元素存储在不同的变量中吗?难道不可能从列表中选择一个元素吗?是的,这会使我更容易处理数据块不可能。因为正如你所说:你并不总是有三个元素,所以你必须处理数量可变的变量。这并不容易,因为出于我的应用目的,我需要将它们分开存储。我对范围(0,colCount)中的x使用了
allCols=[]
其中
colCount
是行中的列数。以后对它们进行索引应该不会有问题,我也不介意对从列表中获得的块进行索引。看,您真的需要将所有元素存储在不同的变量中吗?难道不可能从列表中选择一个元素吗?是的,这会使我更容易处理数据块不可能。因为正如你所说:你并不总是有三个元素,所以你必须处理数量可变的变量。这并不容易,因为出于我的应用目的,我需要将它们分开存储。我对范围(0,colCount)中的x使用了
allCols=[]
其中
colCount
是行中的列数。以后为它们编制索引应该不会有问题,我也不介意为从列表中获得的块编制索引。请看好主意。但是,我使用这一行解决了我的问题:
allCols=[[]表示范围内的x(0,colCount)]
其中
colCount
是行中的列数。然后,我只需在
allCols[colCount-1]
中指出我要访问的索引,以提取最后一个元素集或与此相关的任何元素集。@Eagle yes这是在iterableGood思想中引用元素的常用方法。但是,我使用这一行解决了我的问题:
allCols=[[]表示范围内的x(0,colCount)]
其中
colCount
是行中的列数。然后,我只需在
allCols[colCount-1]
中指出我要访问的索引,以提取最后一个元素集或与此相关的任何元素集。@Eagle yes这是在iterable中引用元素的常用方法