l1=[4,7,3,5,6,4,3,0]
print(l1)
l1.sort(reverse=True)
print(l1)
l1.reverse()
print(l1)
l1.insert(2, 78)
print(l1)
print(l1.index(78))
s="abcdebf"
print(s.find('b'))
print(s.rfind('b'))
l1=[1,2,3]
l2=[4,5,6]
print(l1+l2)
a1=(1,2,3)
a2=(3,4,5)
print(a1+a2)
def print_human(name, age = 23):
print("body info: name is %s, age is %s" % (name, age) )
print_human("wangwu")
print_human("lisi", 25)
print_human("zhangsan", age = 36)
# *arge传入的是元组,**kwarges传入的是字典
def go(*arge,**kwarges):
print(arge)
print(kwarges)
l1=[1,2,3,3]
l2={'zhangsan':98,"lisi":56}
go(*l1,**l2)
#可利用元组返回多个值
def g1():
a=6
b=12
c=15
return a,b,c
a,b,c=g1() #序列解包
print(a,b,c)
文本操作
with open("suiji.txt","w+",encoding="utf-8") as fp:
for i in range(100):
a=random.randint(1, 100)
fp.write(str(a)+'\n')
with open("../data/tongji.csv","r",encoding="utf-8") as fp:
s=fp.read()
print(s)
print(len(s))
a,b,c=0,0,0
for i in s:
if i.isupper():
a+=1
elif i.islower():
b+=1
elif i.isdigit():
c+=1
print(a,b,c)
#关键点在于用csv模块,可去除换行字符,只保留数据
#第二个关键点在与跳过第一行,用eval转换
import csv
with open("../data/pingjun.csv",'r+') as fp:
s=csv.reader(fp)
next(fp)
num=0
for row in s:
num=num+sum([eval(x) for x in row])
print(num)
with open('../data/test-row.txt','r+') as fp:
s=fp.readlines()
for row in s:
if row.startswith('#')==0:
print(row)
import os
path=os.getcwd() #获得当前路径
oldname=os.listdir('../data') #获得相对路径下的文件名
print(oldname) # 修改当前py文件所在位置
os.chdir('../data') #改变工作路径,方便下一步修改名字
for name in oldname:
os.rename(name, name)