python冒泡字符串排序例题
时间: 2023-11-14 19:12:36 浏览: 33
冒泡排序可以用于对数字列表进行排序,也可以用于对字符串列表进行排序。下面是一个Python冒泡字符串排序的例题:
```
def bubble_sort(str_list):
n = len(str_list)
for i in range(n):
for j in range(0, n-i-1):
if str_list[j] > str_list[j+1]:
str_list[j], str_list[j+1] = str_list[j+1], str_list[j]
return str_list
if __name__ == '__main__':
str_list = ['apple', 'banana', 'orange', 'pear', 'grape']
sorted_list = bubble_sort(str_list)
print(sorted_list)
```
这个例子中,我们定义了一个名为`bubble_sort`的函数,它接受一个字符串列表作为参数,并返回一个排好序的字符串列表。函数中的实现和数字列表的冒泡排序类似,只是比较的对象变成了字符串。在主程序中,我们定义了一个字符串列表,然后调用`bubble_sort`函数对它进行排序,并打印出排好序的列表。
相关问题
python字符串的冒泡排序
Python字符串的冒泡排序是一种简单的排序算法,它通过比较相邻的字符串并交换位置来实现排序。下面是Python字符串冒泡排序的实现步骤:
1. 首先,定义一个包含待排序字符串的列表。
2. 使用两层循环,外层循环控制比较的轮数,内层循环用于比较相邻的字符串并进行交换。
3. 在每一轮比较中,从第一个字符串开始,依次比较相邻的两个字符串。
4. 如果前一个字符串大于后一个字符串,则交换它们的位置。
5. 继续进行下一对相邻字符串的比较,直到最后一个字符串。
6. 重复执行上述步骤,直到所有字符串都按照升序排列。
下面是Python代码示例:
```python
def bubble_sort(strings):
n = len(strings)
for i in range(n-1):
for j in range(n-i-1):
if strings[j] > strings[j+1]:
strings[j], strings[j+1] = strings[j+1], strings[j]
# 示例
strings = ['apple', 'banana', 'cherry', 'date']
bubble_sort(strings)
print(strings)
```
输出结果为:`['apple', 'banana', 'cherry', 'date']`
python list 字符串排序
在Python中,可以使用sort()方法对列表进行排序。如果列表中的元素是字符串类型,sort()方法将按照字母顺序对字符串进行排序。下面是一个示例:
```python
my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort()
print(my_list)
```
输出结果为:['apple', 'banana', 'cherry', 'date']
如果你想按照字符串的长度进行排序,可以使用sort()方法的key参数,并传递一个lambda函数来指定排序的依据。下面是一个示例:
```python
my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort(key=lambda x: len(x))
print(my_list)
```
输出结果为:['date', 'apple', 'cherry', 'banana']
如果你想按照字符串的长度进行逆序排序,可以将reverse参数设置为True。下面是一个示例:
```python
my_list = ['apple', 'banana', 'cherry', 'date']
my_list.sort(key=lambda x: len(x), reverse=True)
print(my_list)
```
输出结果为:['banana', 'cherry', 'apple', 'date']