按元组列表的元素排序

时间:2017-10-13 22:01:49

标签: python list tuples

我有一个元组列表或一个元组元组,我想像下一个例子中那样交换元组:

>>> swap([('abc', 'bcd'), ('efg', 'zza')])
[('efg', 'zza'), ('abc', 'bcd')]

我想根据每个元组的第二个元素的第三个字符来交换列表中的元组。

1 个答案:

答案 0 :(得分:2)

小男孩,这是一个很大的XY问题。您希望按每个元组的第二个元素的第三个字符排序。使用sorted内置及其kwarg key

lst = [('abc', 'bcd'), ('abc', 'zza')]
result = sorted(lst, key=lambda t: t[1][2])

key这里接受一个函数,该函数依次给出每个元素,并对它进行比较。在这种情况下,它返回第二个元素的第三个元素(t[1][2])。外部列表的每个元素都是元组。每个元组的第二个元素都存在于索引1中,每个第二个元素的第三个字符存在于索引2中。