Python中sorted方法的使用

Python 中不同数据类型的排序及计数器操作总结

在 Python 编程中,经常会遇到对不同数据类型进行排序以及使用计数器(Counter)的情况,以下是对相关操作的详细介绍及示例代码。

一、数据类型排序

  1. 列表排序
    使用 sorted() 函数对列表进行排序,reverse=True 可实现降序排序。
    from collections import Counter
    a = [4, 8, 1, 2, 3, 5, 7, 6]
    aa = sorted(a, reverse=True)
    print("aa", aa)
    
  2. 元组排序
    先使用 sorted() 函数将元组转换为列表进行排序,再转换回元组。
    b = (4, 8, 1, 2, 3, 5, 7, 6)
    bb = sorted(b)
    bb = tuple(bb)
    print("bb", bb)
    
  3. 字典排序
    • 按 key 排序:先获取字典的所有 key,对 key 进行排序,再通过字典推导式创建新的字典,使其 key 有序。
    c = {'a': 4, 'b': 8, 'c': 1, 'd': 2, 'e': 3, 'f': 5, 'g': 7, 'h': 6}
    ckey = sorted(c.keys())
    cans = {key: c[key] for key in ckey}
    print("cans", cans)
    
    • 按 value 排序:直接使用 sorted() 函数对字典的值进行排序,但此时无法与原字典的 key 对应。
    cval = sorted(c.values())
    print("cval", cval)
    
    • 按 value 排序并与原字典对应:使用自定义函数指定排序依据为元组的第二个元素(即 value)。
    def tests(x):
        return x[1]
    cc = sorted(c.items(), key=tests)
    print("cc", cc)
    
    • 按 key 排序并与原字典对应:使用自定义函数指定排序依据为元组的第一个元素(即 key),也可直接对字典的项进行排序(默认按 key 排序)。
    def tests1(x):
        return x[0]
    cc = sorted(c.items(), key=tests1)
    print("cc", cc)
    citems = sorted(c.items())
    print("citems", citems)
    
  4. 字符串排序
    先将字符串转换为字符列表进行排序,再将排序后的列表转换回字符串。
    d = '48123576'
    dd = sorted(d)
    dd = ''.join(dd)
    print("dd", dd)
    

二、计数器(Counter)操作

  1. 创建计数器并统计元素出现次数
    遍历列表,对每个元素进行计数。
    ee = Counter()
    for i in a:
        ee[i] += 1
    print("ee", ee)
    
  2. 获取出现次数最多的元素
    使用 most_common() 方法,参数为要获取的元素个数,这里取第一个(出现次数最多的)。
    print("eeMost", ee.most_common(1))
    
  3. 更新计数器
    使用 update() 方法可以更新计数器中的计数。
    ee.update({1: 2, 2: 3})
    print("eeUpdate", ee)
    
  4. 对计数器的次数排序
    使用 sorted() 函数,结合 lambda 表达式指定按元组的第二个元素(即出现次数)进行排序。
    eee = sorted(ee.items(), key=lambda x: x[1], reverse=True)
    print("eee", eee)
    

通过以上示例,我们可以对 Python 中不同数据类型的排序以及计数器的常见操作有更清晰的认识,在实际编程中灵活运用这些操作来处理数据。

希望这篇笔记对你有所帮助,如有疑问或建议,欢迎在评论区交流。

你可能感兴趣的:(python,开发语言)