通过Python程序中的任何键按升序对元组进行排序

在本教程中,我们将通过第n个索引键以升序对元组列表进行排序。例如,我们有一个元组列表[[2,2),(1,2),(3,1)]然后,我们必须使用第0个索引元素对其进行排序。该列表的输出为[(1,2),(2,2),(3,1)]。

我们可以通过使用sorted方法来实现。在将列表提供给已排序的函数时,我们必须传递一个键。此处,键是排序所基于的索引。

sorted获取一个列表,并以升序升序返回该列表。如果要按降序获取列表,请在已排序的函数中将反向关键字参数设置为True。

让我们看看解决问题的步骤。

算法

1. Initialize list of tuples and key

2. Define a function. 2.1. Return key-th index number.

3. Pass list of tuples and function to the sorted function. We have to pass function name to

the keyword argument key. Every time one element (here tuple) to the function. The

function returns key-th index number.

4. Print the result.

示例

## list of tuples

tuples = [(2, 2), (1, 2), (3, 1)]

## key

key = 0

## function which returns the key-th index number from the tuple

def k_th_index(one_tuple):

return one_tuple[key]

## calling the sorted function

## pass the list of tuples as first argument

## give the function as a keyword argument to the **key**

sorted(tuples, key = k_th_index)

输出结果

如果运行上面的程序,您将得到以下结果。

[(1, 2), (2, 2), (3, 1)]

如果您使用大于len(tuple)-1的索引来初始化键,则会出现索引错误。让我们来看看。

示例

## list of tuples

tuples = [(2, 2), (1, 2), (3, 1)]

## key

## initializing the key which is greter than len(tuple) - 1

key = 2

## function which returns the key-th index number from the tuple

def k_th_index(one_tuple):

return one_tuple[key]

## calling the sorted function

## pass the list of tuples as first argument

## give the function as a keyword argument to the **key**

sorted(tuples, key = k_th_index)

输出结果

如果运行上面的程序,您将得到以下结果。

IndexError Traceback (most recent call last)

<ipython-input-13-4c3fa14880dd> in <module>

13 ## pass the list of tuples as first argument

14 ## give the function as a keyword argument to the **key**

---> 15 sorted(tuples, key = k_th_index)

<ipython-input-13-4c3fa14880dd> in k_th_index(one_tuple)

8 ## function which returns the key-th index number from the tuple

9 def k_th_index(one_tuple):

---> 10 return one_tuple[key]

11

12 ## calling the sorted function

IndexError: tuple index out of range

除非索引不大于len(tuple)-1,否则上述程序将适用于任意数量的元组和任意大小的元组。

结论

希望您喜欢本教程。

以上是 通过Python程序中的任何键按升序对元组进行排序 的全部内容, 来源链接: utcz.com/z/331398.html

回到顶部