python - 在for循环中更改元素

时间:2015-04-29 11:41:19

标签: python sorting

我们说我们有三个清单:

public double density(double[] vals)

我想在一个listA = [5,6,2] listB = [7,1] listC = [5,3,6] 循环中对这些列表进行排序,所以请执行以下操作:

for

其中for thisList in [listA, listB, listC]: # edited, was 'list' here thisList = thisList.sort() thisList,然后是listA,然后是listB,所以最后我的列表会是这样的:

listC

有办法做到这一点吗?

注意 - 这只是一个例子,我处理的问题有点困难,但我想做一个我需要的简单例子。

- 编辑 -

如果我想在这里进行一些自定义排序怎么办? 我知道,例如,我可以通过这种方式进行自定义排序:     myList = sorted(myList,key = lambda val:val / 2)

但我使用的是listA = [2,5,6] listB = [1,7] listC = [3,5,6] ,而不是sorted

我可以在sort使用自定义排序吗?

询问原因给出答案(thx btw;))正在使用sort ...

2 个答案:

答案 0 :(得分:5)

不要用数字或字母命名变量。将所有列表放在另一个列表中。然后你可以在for循环中操作这些对象:

lists = [listA, listB, listC]

for lst in lists:
    lst.sort()

答案 1 :(得分:0)

试试这个:

listA = [5,6,2]

listB = [7,1]

listC = [5,3,6]

lists = [listA, listB, listC]

for indx, list in enumerate(lists):
    lists[indx] = sorted(list)



In [52]: lists
Out[52]: [[2, 5, 6], [1, 7], [3, 5, 6]]