python - 如何对整数列表的一部分进行排序?

标签 python python-3.x list sorting

假设我有一个整数列表如下:

l = [7,3,9,6,0,4]

列表的两端有赔率和偶数。从左边开始,奇数先出现,然后是偶数。我想在不借助任何其他列表的情况下对赔率和偶数进行排序,如果可能的话,只使用 sort() 方法。我尝试了以下方法:

l[0:oddCtr].sort() # to sort the odds 
l[oddCtr:].sort() # to sort the evens

其中 oddCtr 是列表中的赔率数。但它没有得到任何答案。请帮忙。

最佳答案

这将使用就地 list.sort():

l = [7,3,9,6,0,4]
l.sort(key=lambda k: (not k%2, k))
print(l)

打印:

[3, 7, 9, 0, 4, 6]

关于python - 如何对整数列表的一部分进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57482254/

相关文章:

excel - 使用 openpyxl 使用电子表格的行创建对象列表

python - 如何将一个函数中的多个变量用于另一个函数?

python - 从Python列表中获取索引

python - 使用 BeautifulSoup 删除 <p> 标签内的空格

python - BeautifulSoup - 修改一段 HTML 中的所有链接?

python - 无属性 : 'audit' found while using smtplib to send emails

python - 我在 python 中使用函数 map(),并将结果转换为列表,但结果是一个空列表

python - 单元测试 - 断言列表的一组项目包含(或不包含)在另一个列表中

python - 如果另一列中的相应值也为 NaN,则将一列中的所有值设置为 NaN

python - 将正则表达式应用于 df 在新列中添加值