新闻动态

良好的口碑是企业发展的动力

sort和sorted函数的区别python

发布时间:2024-02-06 08:02:41 点击量:206
网站搭建平台

 

sort() 和 sorted() 是 Python 中用于对列表进行排序的函数,它们有以下几个区别:

 

1. sort() 是列表的一个方法,它会直接在原列表上进行排序,而 sorted() 是一个内建函数,它会返回一个新的已排序列表,原列表不会被修改。

 

示例:

```python

# 使用 sort() 对列表排序

my_list = [3

1

4

2

5]

my_list.sort()

print(my_list) # 输出:[1

2

3

4

5]

 

# 使用 sorted() 返回已排序的新列表

my_list = [3

1

4

2

5]

new_list = sorted(my_list)

print(my_list) # 输出:[3

1

4

2

5]

print(new_list) # 输出:[1

2

3

4

5]

```

 

2. sort() 方法是就地排序,它不会返回任何值;而 sorted() 函数是非就地排序,它会返回一个新的已排序列表。

 

示例:

```python

# sort() 方法没有返回值

my_list = [3

1

4

2

5]

result = my_list.sort()

print(result) # 输出:None

 

# sorted() 函数返回一个新的已排序列表

my_list = [3

1

4

2

5]

new_list = sorted(my_list)

print(new_list) # 输出:[1

2

3

4

5]

```

 

3. sort() 方法只能用于可变的列表(list),而 sorted() 函数可以用于任何可迭代的对象。

 

示例:

```python

# sorted() 函数可以用于不可变的元组

my_tuple = (3

1

4

2

5)

new_tuple = sorted(my_tuple)

print(new_tuple) # 输出:[1

2

3

4

5]

 

# sort() 方法只能用于可变的列表

my_string = "hello"

my_string.sort() # 报错:AttributeError: 'str' object has no attribute 'sort'

```

 

总结:

sort() 和 sorted() 都可以用于排序,但是它们的用法和效果不同。如果你需要在原列表上就地排序,可以使用 sort() 方法;而如果你需要返回一个已排序的新列表,可以使用 sorted() 函数。另外,sorted() 还可以用于任何可迭代的对象,而 sort() 只能用于列表。

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:dm@cn86.cn进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。本站原创内容未经允许不得转载。
上一篇: phpparse_str