① python 在二维列表中查找出包含指定值的子列表
如果 list 存储了若干复杂结构的值,比如这样的一个列表:
temp = [('a', 1, 1.5),
('b', 2, 5.1),
('c', 9, 4.3)]
你想找到其中是 ('b', XX, XX) 这样的元素,其中 XX 可以为任意值。这种情况无法通过 index 函数来获得,我们可以利用 sort 的 key 参数来实现。
list.sort(或者 sorted 函数)有一个 key 参数,你可以提供一个函数来作为排序的依据。此时我们可以传入以下值:
temp.sort(key = lambda x:x[0]!='b')
随后我们会发现,所有形如 ('b', XX, XX) 的元素全部浮动到了列表的头部,此时我们访问 temp[0] 就可以获得想要查找的值了。
我们也可以写一个简单的函数:
findindex = lambda self,i,value:sorted(self,key=lambda x:x[i]!=value)[0]
那我们只需要这样调用:
>>> findindex(temp,0,'b')
就会返回它找到的第一个值:
>>> ('b',2)
② Python 二维列表,用sorted函数怎么多重排序
在历返历Python中,使用sorted函数对二维列表进行多重排序可以使用key参数。key参数接收一个函数,该函数接收一个列表元素作为参数世皮,返回一个用肢搜于排序的值。可以使用lambda函数来实现多重排序,例如:
sorted_list = sorted(my_list, key=lambda x:(x[1],x[2],x[0]))
这将按第1个元素,第2个元素,第3个元素的顺序对二维列表进行排序。
③ 在 Python 中使用二维数组
在Python中,可以猜山铅使用列表嵌套的方式来实现二维数组。例如,以下是一个3x3的二维数组的示例代码:
arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(arr[0][0])
# 输出1
print(arr[1][2])
# 输出6
在上面的代码中,我唯卜们首先创建一个列表arr,其中包含3个子列表。每个子列表都包含3个元素,因此我们可以将arr视为一个3x3的二维数组。要访问二维数组中的元素,我们可以使用两个索引,第一个索引用于选择子列表,第二个索引用于选择穗好子列表中的元素。例如,arr[0][0]表示选择第一个子列表的第一个元素,即1。arr[1][2]表示选择第二个子列表的第三个元素,即6。