欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
问题描述
近日,有粉丝在公众号后台提问:
根据现有条件,笔者作本文回答粉丝疑问,并更改条件如下:如何用python实现将一个储存了很多英文字符串的txt文档重新以首字母的顺序排列好。
解决方案
要实现这一操作,首先就要清楚python读写文件的函数,其次是排序方法的选择,由于粉丝要求使用冒泡排序,所以笔者用冒泡排序的方法为大家讲解。
首先先做好准备工作,用random库创建好一个随机的含有字母的txt文本,然后根据txt的排版对其进行读取,将读取出的元素放入一个列表里面,在列表里面进行冒泡排序即可。切记千万不要用字符串直接进行排序,那样会出现报错。
python代码:
def suiji():#随机产生数个英文字符串 import random letter = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] l=[] n=0 while n<20: x=random.randint(0,51) l.append(letter[x]) n+=1 n=0 while n<20: str2 = '' while len(str2)<2: x=random.randint(0,51) str2+=letter[x] l.append(str2) n+=1 n=0 while n<20: str3 = '' while len(str3)<3: x=random.randint(0,51) str3+=letter[x] l.append(str3) n+=1 n=0 while n<20: str4 = '' while len(str4)<4: x=random.randint(0,51) str4+=letter[x] l.append(str4) n+=1 n=0 while n<20: str5 = '' while len(str5)<5: x=random.randint(0,51) str5+=letter[x] l.append(str5) n+=1 n=0 while n<20: str6 = '' while len(str6)<6: x=random.randint(0,51) str6+=letter[x] l.append(str6) n+=1 n=0 while n<20: str7 = '' while len(str7)<7: x=random.randint(0,51) str7+=letter[x] l.append(str7) n+=1 n=0 while n<20: str8 = '' while len(str8)<8: x=random.randint(0,51) str8+=letter[x] l.append(str8) n+=1 n=0 while n<20: str9 = '' while len(str9)<9: x=random.randint(0,51) str9+=letter[x] l.append(str9) n+=1 return l file = open("C:/Users/刘仕豪/Desktop/a.txt",'w')
‘’’
图3.1随机创建好的txt文件的一部分
‘’’ ranstr = suiji() for s in ranstr: file.write(s) file.write('\n') file.close() #先随机创建一个有许多字符串的txt文档
#下面才是排序字符串,上面只是准备工作 file2 = open(r"C:/Users/刘仕豪/Desktop/a.txt") strs = [] for line in file2: strs.append(line)
#打开刚刚的文件,将刚刚文件里的字符串引入一个列表 for i in range(len(strs)-1): for j in range(len(strs)-i): if (j
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?


微信扫码登录