python中将字典转换为字符串、并写⼊⽂件中_python字符
串、字典操作,⽂件读写...
⼀、字符串操作:
name = 'aabc,dddd,a'
name1 = 'q '
# print(name[3]) #字符串也可以取下标
# print(name.capitalize()) #把字符串⾸字母⼤写
# (11,'*')) #把name放中间,字符串少于11,则⽤*补全
# #print(name.index('p')) #返回字符串的索引,查不到时会报错,substring not found
# print(name.isalnum()) #只能有数字或字母,返回Ture,包含其他符号或标点、空格则False
# print(name.isalpha()) #字符串必须为英⽂或汉字,返回True
print(name.istitle()) #判断是不是标题(⾸字母⼤写)
# print(name)
#**********************************
# unt('s')) #查询出现的次数,没有则返回0
# dswith('zuo')) #判断是否zu结束,返回布尔值
# print(name.startswith('h')) #判断是否开头,返回布尔值
# print(name.upper()) #都变成⼤写
# print(name.lower()) #都变成⼩写
# print(name.find('1')) #返回字符串的索引,查不到时返回-1,建议使⽤
# print(name.isdigit()) #判断是否为纯数字 ,返回布尔值
# print(name.isidentifier()) #判断它是不是⼀个合法的变量名,
# print(name1.isspace()) #判断是否全是空格
# print(name.strip()) #去掉字符串两边的东西,不带参数则默认去掉两边的空格和换⾏符\n
# print(name.lstrip()) #只去掉左边的
# print(name.rstrip()) #只去掉右边的
place('abc','x')) #替换字符串,把前⾯的替换为后⾯的,默认是全部替换,place('abc','x',2)2表⽰替换⼏个地⽅print(name.zfill(19)) #在前⾯补0,补满19个字符
print(name.split(',')) #1.分割字符串,分割符默认是空格和换⾏,','做为分割符 2.把字符串变成⼀个list
#name.split(',',1) 1表⽰只分割1次,后⾯的做为⼀个元素
stus = ['aabc', 'dddd', 'a']
print('*'.join(stus)) #1.把list变成字符串 2.以*字符串连接
#********************************
import string
print(string.ascii_letters) #所有的⼤写+⼩写字母
print(string.ascii_lowercase) #所有⼩写字母
print(string.ascii_uppercase) #所有⼤写字母
print(string.digits) #所有数字
print(string.punctuation) #所以特殊字符
⼆、字典
#⾮空即真,⾮0即真
#实现同样的功能,代码越少越好
#假 空list,空字符串,空元组,0 ,None
# not 取反
# a = []
# b = ' '
# c = ()
# d = 0
# e = None
# if e:
# print(1)
# else:
# print(0)
# import this
#字典 k - v 字典⽆序
shenyang = {'name':'沈阳',
writelines()方法将什么写入文件
'age':18,
'sex':'不知道',
'addr':'天通苑',
'qq':123456,
'email':'shenyang@qq'
}
print(shenyang)
#增加
shenyang['⼥朋友'] = '很漂亮'
shenyang['age'] = 38 #k不管是否存在,不存在则增加,存在则修改print(shenyang)
shenyang.setdefault('age',39) #不存在,则增加,如果k已经存在,则不会修改,
print(shenyang)
#修改
shenyang['⼥朋友'] = '很漂亮'
#删除
# shenyang.pop('⼥朋') #删除时key不存在,会报错
# del shenyang['ag'] #删除时key不存在,会报错
#查,取值
print(shenyang['addr']) #key 不存在,报错
('email')) #key 不存在,返回None
print(shenyang)
('emailww'))
#shenyang.clear() #清空字典
#shenyang.popitem() #随机删除⼀个key
yaoyuan = {'chouyan':'1'}
shenyang.update(yaoyuan) #把字典yaoyuan加⼊到另⼀个字典shenyang,有重复,则更新值print(shenyang.values())
print(shenyang.keys())
for i in shenyang: #默认循环的是key
print(i)
for i in shenyang.items(): #默认循环的是key
print(i)
for i,j in shenyang.items(): #循环的是key和valus
print(i,j)
d = {'a':1,'b':2}
print(d.items())
for k,v in d.items(): #会字典转换成list,效率不⾼
print(k,v)
for k in d: #打印key和value的值,推荐使⽤这种⽅式,速度快
print((k))
info = [
{
'xiaohei':
{
'money':10000,
'cars':['Ben-z','audi','BMW'],
'info': {
'phone':186212312,
'age':36,}
}
},
{'xiaohong':
{
'house': {
'朝阳':2,
'海淀':3,
'昌平':5
},
'lan':['ch','en','jp'],
}
}
]
print(info)
info[0]['xiaohei']['cars'].append('bsj') #car⾥加bsj print(info)
info[0]['xiaohei']['info']['addr'] = 'aa'
info[1]['xiaohong']['house']['海淀'] += 2
print(info[1]['xiaohong']['house']['海淀'])
print(info)
info[1]['xiaohong']['sex'] = '⼥'
print(info)
三、⽂件读写
#1、打开⽂件
#2、对化读/写
#3、关闭⽂件
#f = open('abc中⽂.txt',encoding='utf-8')
#python2 ⾥⽤file,python3⾥没有这个⽅法
f = open('abc中⽂.txt','a+')
#⽂件指针************
# print('readline',f.readline()) #读取⽂件的⼀⾏数据
# print('readlines',f.readlines()) #读取所有⽂件内容,返回⼀个list,元素是每⾏的数据,⼤⽂件时不要⽤,因为会把⽂件内容都读到内存中,内存不够的话,会把内存撑爆
# print('read',f.read()) #获取⽂件⾥⾯的所有内容
f.write('abc')
f.close()
f = open('abc中⽂.txt','a+')
ad())
#⽂件的三种模式 只读,写模式,追加模式
#r 默认只读模式,只能读,不可写,⽂件不存在会报错
#r+ 读写模式,可读,可追加,⽂件不存在会报错
#w 写模式,不可读,会覆盖以前⽂件内容,⽂件不存在则新建
#w+ 写读模式,可读,会覆盖以前⽂件内容,⽂件不存在则新建
#a 追加模式 不可读; 不存在则创建;存在则只追加内容,⽂件打开指针在最后,所以读不到内容
#a+ 追加读模式 可读; 不存在则创建;存在则只追加内容,
#只要和r相关的,⽂件不存在则报错,
# 只要和w有关的,⽂件内容会清空
f.seek(0)
print('read',f.read())
names = ['1','2','3','4','5']
for name in names:
f.write(name + '\n')
f.writelines(names)
五、list切⽚
#切⽚,list取值的⼀种⽅式,切⽚,同样适⽤于字符串*******************************
stus = ['lxy','zyf','wdz','n1','wy','gfw']
import string
# print(stus[1:3]) #顾头不顾尾
# print(stus[:3]) #从最前开始取值
# print(stus[-1]) #-1表⽰最后⼀个元素
# print(stus[1:]) #取值到最后
# print(stus[:]) #取整个list
# print(stus) #取整个list

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。