Python:如何在for中解压多个值?
我正在尝试将两个值解压缩为:Python:如何在for中解压多个值?,python,list,for-loop,unpack,Python,List,For Loop,Unpack,我正在尝试将两个值解压缩为: def getDiagonal(self): diagonal = [(r, c) for (r,c) in range(0, len(self.matrix)), range(0, len(self.matrix[0]))] return diagonal 并给出了这个错误: Traceback (most recent call last): File "matrixModule.py", line 4, in <module
def getDiagonal(self):
diagonal = [(r, c) for (r,c) in range(0, len(self.matrix)), range(0, len(self.matrix[0]))]
return diagonal
并给出了这个错误:
Traceback (most recent call last):
File "matrixModule.py", line 4, in <module>
print m.getDiagonal()
File "C:\Users\Capinzal\Google Drive\ProgramaþÒo\Matrix\matrix.py", line 46, in getDiagonal
diagonal = [(r, c) for (r,c) in range(0, len(self.matrix)), range(0, len(self.matrix[0]))]
ValueError: too many values to unpack
回溯(最近一次呼叫最后一次):
文件“matrixModule.py”,第4行,在
打印m.getDiagonal()
文件“C:\Users\Capinzal\Google Drive\ProgramaþÒo\Matrix\Matrix.py”,第46行,在getDiagonal中
对角线=[(r,c)表示范围(0,len(self.matrix)),范围(0,len(self.matrix[0]))]
ValueError:要解压缩的值太多
与zip()
:
这就是说,如果您只需要元组
,尽管您仍然需要zip()
:
您还可以省略范围
对象的0
,因为这是默认的开始值。如果要指定自定义步长值,则需要它。Withzip()
:
这就是说,如果您只需要元组
,尽管您仍然需要zip()
:
您还可以省略范围
对象的0
,因为这是默认的开始值。如果要指定自定义步长值,则需要它。Withzip()
:
这就是说,如果您只需要元组
,尽管您仍然需要zip()
:
您还可以省略范围
对象的0
,因为这是默认的开始值。如果要指定自定义步长值,则需要它。Withzip()
:
这就是说,如果您只需要元组
,尽管您仍然需要zip()
:
您还可以省略范围
对象的0
,因为这是默认的开始值。如果要指定自定义步长值,则需要它。在尝试将其设为一行之前,是否尝试将其分解为更简单的循环,以便更轻松地进行故障排除?从外观上看,您不太了解嵌套循环在列表理解中是如何工作的。您是否尝试过将其分解为一个更简单的循环,以便在尝试将其变成一行之前更容易进行故障排除?从外观上看,您不太了解嵌套循环在列表理解中是如何工作的。您是否尝试过将其分解为一个更简单的循环,以便在尝试将其变成一行之前更容易进行故障排除?从外观上看,您不太了解嵌套循环在列表理解中是如何工作的。您是否尝试过将其分解为一个更简单的循环,以便在尝试将其变成一行之前更容易进行故障排除?从外观上看,您不太了解嵌套循环在列表理解中是如何工作的。
diagonal = [(r, c) for (r,c) in zip(range(len(self.matrix)), range(len(self.matrix[0])))]
diagonal = list(zip(range(len(self.matrix)), range(len(self.matrix[0]))))