Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何对python中具有不同大小和元素大小的元组列表进行排序_Python_Python 3.x_List_Sorting - Fatal编程技术网

如何对python中具有不同大小和元素大小的元组列表进行排序

如何对python中具有不同大小和元素大小的元组列表进行排序,python,python-3.x,list,sorting,Python,Python 3.x,List,Sorting,有人能帮我在Python中对元组进行排序吗 ({'b', 'c', 'a'}, {('b', 'c'), ('a', 'b')}) 预期产出: ({'a', 'b', 'c'}, {('a', 'b'), ('b', 'c')}) 我假设你说的是一个列表,你想先对每个列表进行排序,然后对整个列表进行排序 您可以按如下方式进行操作: arr = [['b','c','a'],['b','c'],['a','b']] for i in arr: i.sort() arr.sort(k

有人能帮我在Python中对元组进行排序吗

({'b', 'c', 'a'}, {('b', 'c'), ('a', 'b')})
预期产出:

({'a', 'b', 'c'}, {('a', 'b'), ('b', 'c')})

我假设你说的是一个列表,你想先对每个列表进行排序,然后对整个列表进行排序

您可以按如下方式进行操作:

arr = [['b','c','a'],['b','c'],['a','b']]

for i in arr:
    i.sort()

arr.sort(key=lambda x:x[0])

print(arr) 

[['a', 'b', 'c'], ['a', 'b'], ['b', 'c']]

请记住,如果你有一组集合,那么解决方案将完全不同,反之亦然。

你的标题和示例相互冲突。您应该查阅关于和的python文档

一些例子:

a_list = ['b', 'c', 'a']
a_tuple = ('b', 'c', 'a')
a_set = {'b', 'c', 'a'}
a_list_of_tuples = [('b', 'c', 'a'), ('b', 'c'), ('a', 'b')]
a_list_of_tuples_and_lists = [('b', 'c', 'a'), [('b', 'c'), ('a', 'b')]]

此示例适用于列表/元组列表和集合/元组的元组,但它返回的是实际的元组列表,而不是预期输出示例中提供的集合元组

my_list = [('b', 'c', 'a'), [('b', 'c'), ('a', 'b')]]
print(tuple((sorted(item) for item in my_list)))
-> (['a', 'b', 'c'], [('a', 'b'), ('b', 'c')])

my_tuple = ({'b', 'c', 'a'}, {('b', 'c'), ('a', 'b')})
print(tuple((sorted(item) for item in my_tuple)))
-> (['a', 'b', 'c'], [('a', 'b'), ('b', 'c')])

在您的示例中,您有一组元组。您想对元组集还是元组列表进行排序?这是两种不同的数据类型:嗨!你能再解释一下你想要实现什么,输入和它们的类型,你期望得到什么结果…?{'b','c','a'},{'b','c','a','b'}是一个python列表列表,我希望输出按字母顺序排列,就像{'a','b','c'},{'a','b','c'},{'a','b','c'}一样您在示例中提供的不是元组列表,而是集合的元组。e、 “b”、“c”、“a”是一个元组。{'b','c','a'}是一个集合。元组列表如下所示:解决方案看起来很有用。如果它是集合的元组,请您帮助我好吗?不可能按其原始形式对集合进行排序,您需要将其转换为列表,然后执行排序。如果您再次尝试将其转换为集合,则顺序将发生变化,因为集合不保持元素的顺序。我希望这有帮助。