The difference of sort() and sorted() in Python

news/2025/2/27 0:49:14

This is my first time writing a blog in English, so please forgive me for not writing well

 The sort() method and sorted() function in Python both sort elements, but they differ in usage and behavior:

1. Type and Usage:

  • sort():

    • A ​list method​ (only works with lists).
    • Modifies the list ​in-place​ (changes the original list).
    • Returns None.
    • Example:
      python">numbers = [3, 1, 2]
      numbers.sort()  # Original list is now sorted
      print(numbers)  # Output: [1, 2, 3]
  • sorted():

    • A ​built-in function​ that works with ​any iterable​ (lists, tuples, dictionaries, etc.).
    • Returns a ​new sorted list​ (original iterable remains unchanged).
    • Example:
      python">numbers = [3, 1, 2]
      sorted_numbers = sorted(numbers)  # New sorted list
      print(sorted_numbers)  # Output: [1, 2, 3]
      print(numbers)         # Output: [3, 1, 2] (unchanged)

2. Return Value:

  • sort(): Returns None (modifies the original list).
  • sorted(): Returns a ​new sorted list, regardless of the input iterable type.
    Example with a tuple:
    python">my_tuple = (3, 1, 2)
    sorted_list = sorted(my_tuple)  # Returns a list: [1, 2, 3]
    sorted_tuple = tuple(sorted(my_tuple))  # Convert to tuple: (1, 2, 3)

3. Flexibility:

  • sorted(): Can sort any iterable (e.g., dictionaries return sorted lists of keys):
    python">my_dict = {3: 'a', 1: 'b', 2: 'c'}
    print(sorted(my_dict))  # Output: [1, 2, 3]
  • sort(): Only available for lists.

4. Parameters:

Both accept key and reverse parameters for custom sorting

python"># Sort strings by length using sorted()
words = ["apple", "bat", "cherry"]
print(sorted(words, key=len, reverse=True))  # Output: ['cherry', 'apple', 'bat']

# Sort list in-place using sort()
words.sort(key=len)
print(words)  # Output: ['bat', 'apple', 'cherry']

5. Performance:

  • sort(): Slightly more memory-efficient for large lists (no copy created).
  • sorted(): Creates a new list, so it uses extra memory.

Summary:

Featuresort()sorted()
ApplicabilityLists onlyAny iterable (lists, tuples, dicts, etc.)
Modifies OriginalYes (in-place)No (returns new list)
Return ValueNoneNew sorted list
Memory UsageMore efficient for large listsCreates a copy (uses more memory)
Functional UseLimited (method call)Flexible (works in expressions)
 Keep it simple

Use sort()to sort a list in-place.
Use sorted()to get a sorted copy of any iterable.


http://www.niftyadmin.cn/n/5869327.html

相关文章

Jtti.cc:站群服务器SEO优化建议,如何分配多IP?

站群优化的核心目标之一是尽可能通过多个网站互相引导流量,从而提升主站的权重。这时候,多IP的分配至关重要,因为搜索引擎会检测到同一IP下的网站之间的关联性。如果一个IP地址下有过多的相似站点,搜索引擎可能会认为这些站点存在…

‌XPath vs CSS Selector 深度对比

📊 ‌核心差异总览‌ ‌对比维度‌‌XPath‌‌CSS Selector‌‌语法复杂度‌较高(需路径表达式)简洁(类似前端开发习惯)‌性能‌较慢(全局遍历)更快(浏览器原生优化)‌文…

后端返回文件流,前端导出excel文件

1、当后端接口返回文件流时,需前端导出excel文件,在请求中添加 responseType: blob限制条件,根据返回的文件流导出 封装的方法: /** * 公共的导出excel方法 * param {*} content 后端接口返回的二进制文件 * param {*} name 导出…

【Uniapp-Vue3】在uniapp中使用pinia的基本用法

引入pinia: 在main.js中对pinia进行引入,使用和导出 import * as Pinia from pinia; // 引入pinia app.use(Pinia.createPinia()); // 使用pinia 在项目根目录下创建一个stores文件夹,里面创建一个counter.js文件 我们在counter.js中定义…

​腾讯云 轻量云对象存储

腾讯云轻量云对象存储(COS)是一款为中小企业、开发者及个人用户提供的简化、低成本、易用的云存储服务。它提供高效、灵活的对象存储解决方案,用户可以通过腾讯云轻量云对象存储轻松存储、管理和访问海量非结构化数据。通过简单的操作&#x…

Windows Server 搭建 RADIUS 认证服务器

Windows Server 搭建 RADIUS 认证服务器 1.搭建 AD CS 证书服务器 2.配置 Active Directory 证书服务 3.搭建 NPS 认证服务器 4.为 NPS 服务器申请证书 5.配置 RADIUS 服务搭建 AD CS 证书服务器 1、打开「服务器管理器」,选择右上角的「管理」>「添加角色和功能…

Selenium 与 Coze 集成

涵盖两者的基本概念、集成步骤、代码示例以及相关注意事项。 基本概念 Selenium:是一个用于自动化浏览器操作的工具集,支持多种浏览器(如 Chrome、Firefox 等),能够模拟用户在浏览器中的各种操作,如点击、输入文本、选择下拉框等,常用于 Web 应用的自动化测试。Coze:它…

AWS SDK for Java 1.x 403问题解决方法和原因

问题表现 使用AWS SDK for Java 1.x访问S3,已经确认文件存在,且具有权限,仍然出现403 Forbidden应答。 解决方法 升级到AWS SDK for Java 2.x。 问题原因 AWS签名机制严格依赖请求的精确路径格式,任何URI的差异(如…