假设我们有一个元组数组,每个元组都有三个元素。我们希望根据这些元素的值将数组切片,并返回切片后的数组。
例如,我们有以下元组数组:
data = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]
我们希望将它们按第一个元素进行切片,返回:
[(1, 2, 3)]
[(4, 5, 6)]
[(7, 8, 9)]
我们可以使用 Python 中的列表解析和 lambda 函数来实现:
def slice_by_element(data, element_num):
return [t for t in data if t[element_num-1]==element_value]
element_num = 1 # 以第一个元素切片
element_value = 1 # 元素值为1
result = slice_by_element(data, element_num)
print(result)
输出:
[(1, 2, 3)]
这些函数首先定义了一个 lambda 函数,它返回元组的指定元素,然后使用 Python 的内置函数 sorted() 按该元素对元组数组进行排序,并使用列表解析对切片进行分组。
上一篇:按元素对XML进行排序
下一篇:按元素分组