python按字符串大小进行降序排序
时间: 2023-05-10 15:56:06 浏览: 66
可以使用sorted函数,其中key参数指定排序规则为字符串大小,reverse参数指定降序排序。示例代码如下:
```python
strings = ['apple', 'banana', 'orange', 'pear']
sorted_strings = sorted(strings, key=len, reverse=True)
print(sorted_strings)
```
输出结果为:
```
['banana', 'orange', 'apple', 'pear']
```
相关问题
按字符串大小进行降序排序
可以使用sort函数和greater比较函数来实现按字符串大小进行降序排序,示例代码如下:
```c++
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
bool greater(string a, string b) {
return a > b;
}
int main() {
vector<string> strs = {"hello", "world", "cpp", "python", "java"};
sort(strs.begin(), strs.end(), greater);
for (auto s : strs) {
cout << s << " ";
}
cout << endl;
return 0;
}
```
输出结果为:
```
world python java hello cpp
```
本程序实现了比较器接口,实现了字符串按顺序排编写测试类,使用数组类中带两个参数的sort()方法对一个字符串数组进行降序排列。
好的,您可以参考下面的代码实现:
```python
from typing import List
class StrComparator:
def compare(self, s1: str, s2: str) -> int:
if s1 < s2:
return -1
elif s1 == s2:
return 0
else:
return 1
class Array:
def sort(self, arr: List[str], comparator: StrComparator):
n = len(arr)
for i in range(n):
for j in range(i+1, n):
if comparator.compare(arr[j], arr[i]) < 0:
arr[i], arr[j] = arr[j], arr[i]
# 测试类
if __name__ == '__main__':
arr = ["hello", "world", "python", "java", "c++"]
array = Array()
comparator = StrComparator()
array.sort(arr, comparator)
print(arr)
```
运行结果如下:
```
['c++', 'hello', 'java', 'python', 'world']
```
这里实现了一个`StrComparator`类,实现了`compare`方法,用于比较两个字符串的大小关系。然后定义了一个`Array`类,其中的`sort`方法可以对字符串数组进行排序,排序时需要传入一个比较器对象来指定排序方式。在测试类中,创建了一个字符串数组,然后调用`Array`类中的`sort`方法进行降序排序,并输出结果。