Python中有四种数据结构:
列表,字典,元组(数组),集合
列表:list=[val1,val2,val3,val4]
字典:dict={key1:val1,key2:val2}
元组:tuple=(val1,val2,val3,val4)
集合:set={val1,val2,val3,val4}
关于一些方法什么到处可以搜到,我就根据自己最近使用的一些经验分享一下
首先就是列表比较占用内存,但是可以增删改查,当是需要做一个常量的集合的时候就一定要记得用元组,还有就是字典很明显就很人性化,当你需要知道自己怎么去查一些数据的时候,而不是通过数字0,1,2,3去查的话就可以用这个,集合一般会用于去掉一些重复的数据,用set()一下就可以了,这就让我想起我做过的一个小项目,就是很多网站都需要随机生成一些假的用户数据,但是我从搜狗词库里面下载的又带拼音又带全名,我想要一个姓和名都分开的文件,然后就自己写了一段代码分开了,先将这个分享一下吧,哈哈
#coding:utf-8
with open("C:/Users/Administrator/Desktop/Python练习资料/studentName.txt") as text:
file=text.read().split()
print(file)
i=0
content=""
for name in file:
i = i + 1
if i%2==0:
content+=name+"\n"
with open("C:/Users/Administrator/Desktop/Python练习资料/fullName.txt", "w") as fileName:
fileName.write(content)
fileName.close()
text.close()
with open("C:/Users/Administrator/Desktop/Python练习资料/fullName.txt", "r") as fileName1:
fileContent=fileName1.read().split("\n")
print(fileContent)
j = 0
firstName=[]
lastName=[]
for fc in fileContent:
listEv=list(fc)
str = ""
for fc1 in listEv:
if len(listEv) == 3:
j=j+1
if j==3:
j=0
if j==1:
firstName.append(fc1)
else:
str+=fc1
if j==0:
lastName.append(str)
else:
j=j+1
if j==2:
j=0
if j==1:
firstName.append(fc1)
else:
lastName.append(fc1)
fN=set(firstName)
lN=set(lastName)
print(fN)
print(lN)
si=""
for i in fN:
si+=i+"\n"
li = ""
for i in lN:
li += i+"\n"
fileName1.close()
with open("C:/Users/Administrator/Desktop/Python练习资料/firstName.txt", "w") as fF1:
fF1.write(si)
fF1.close()
with open("C:/Users/Administrator/Desktop/Python练习资料/lastName.txt", "w") as lF1:
lF1.write(li)
lF1.close()
之前忘记考虑两个字的名字了,还有就是要记得文字的长度可以用len(str)来获取
count()是表示子字符串在字符串中出现的次数,也就是比如
str="this is a good thing"
number=str.count(‘i‘,4,20)-----返回2,因为从4开始到20
number=str.count(‘i‘)------这个时候就会是返回3