1、字典
字典是无序的,通过key进行查找value,key不会重复,定义使用{},花括号,每个值用逗号隔开,key和value之间使用分号分隔。
# l = ['xiaoming','151623232333','656456213','xiaoming@qq.com','北京'] #列表存人的信息 info = { 'name':'xiaoming', 'phone':151623232333, 'qq':656456213, 'email':'xiaoming@qq.com', 'addr':"北京" }#字典存人的信息 #新增 info['phone1'] = 110#通过key新增的,假如key已经存在,会覆盖掉之前的value,若新增key不存在的就新增一个 info.setdefault('name','wangda')#通过setdefault()方式新增时,key已存在的,不会改变之前的value值,若key不存在,正常新增 #修改 info['phone'] = 110#和新增的一样(修改存在的key) #删除 info.pop('qq') del info['qq'] info.popitem()#随机删除一个key #取值 print(info['qq1'])#根据key取值,不存在的key取值会报key错误 print(info.get('sex','男'))#get方法,若key存在会取对应的value,若不存在,会取后面的默认值 stu = { 'student1':'xiaoming', 'student2':'lingling', 'student3':'dongdong', 'student4':'tingting', 'student5':'wangyu', } print(info.keys())#获取字典里所有的key print(info.values())#获取字典里面所有的value info.clear()#清空字典 info.update(stu)#把字典stu的信息加到info里 info.haskey('phone')#python2 print('phone4' in info) #字典的key是否存在,直接用in字典名
#循环\遍历字典 accounts = { "user1":"123456", "user2":"45678", "user3":"121212", "user4":"aaaaa", "user5":[1,2,3,4] } for k in accounts:#直接循环字典每次循环的时候取到的是字典的key print("%s => %s"%(k,accounts[k])) for k,v in accounts.items():#遍历所有键值对 print('%s => %s'%(k,v))
2、元组
元组也是一个list,它不能修改,通过下标取值,同样字符串也不能修改
t = ('114.23.12.1','root','123456',3306) t.count('root')#某元素出现的次数 t.index('root')#寻找某元素的下标值 t1 = (1,)#后面要有逗号,才算是元组
3、字符串常用方法
s='欢迎登陆' # print(s.strip())#去掉字符串两边的空格和换行符 # print(s.rstrip()) # print(s.lstrip()) # print(s.replace('a','A'))#替换 # print(s.replace(' ',''))#把中间空格去掉 # print(s.count('c'))#找某个字符出现的次数 # print(s.index('c'))#找下标,找不到的话会报错 # print(s.find('c'))#找下标,找不到字符的话会返回-1 #1、找一个不存在的字符 # print(s.startswith('a')) #true,以xxx开头 # print(s.endswith('.jpg'))#false 是否以xxx结尾 # print(s.upper())#把所有的字母都变成大写 # print(s.lower())#把所有的字母都变成小写 # print(s.isdigit())#判断是否是整数 # print(s.capitalize())#首字母给你大写了 # print(s.center(50,'-')) s2='aA哈哈' # print(s2.zfill(3))#在前面补零 # print(s2.isupper())#是不是大写字母 # print(s2.islower())#是不是小写字母 # print(s2.isalpha()) #是字母或汉字,返回true # print(s2.isalnum()) #只有数字或者字母或汉字会返回true,其他的都返回false # print(s2.isspace())#是否是空格print(s2.format())#字符串格式化print(s2.format_map())#字符串格式化,括号内传字典形式的数据{“key":"value"}s2.split(',')#分隔字符串,以逗号分隔,括号里为空,则以空格分隔,最终分隔成一个list#写文件,存数据库,只能以字符串形式存放l=['abc','xiaohei','xiaoming']print(','.join(l))#把列表里面每个元素通过制定的字符串连接起来
4、文件读写
r读模式,只能读,不能写,打开不存在的文件会报错w写模式,只能写不能读,会覆盖文件以前的内容,文件不存在的会创建a追加模式,在原来文件的内容上增加新内容,文件不存在的会创建,只能写不能读r+:读写模式 ;w+:写读模式;a+:追加读模式1、只要是r有关,打开不存在的文件都会报错。2、只要和w有关,都会清空原来的文件3、a+文件指针默认是在末尾的,如果想读到内容,先要把文件指针移动到最前面
f = open(r'test.txt','a+',encoding='utf-8') f.seek(0)#移动文件指针 #r就是原字符 print(f.read())#读取文件里面所有的内容 print(f.readline())#读取一行的内容 print(f.readlines())# 所有内容返回到一个列表里 f.write('sss') f.close()
with open('test.txt') as f, open('test2.txt','w') as f2: #这种方式打开文件,无需关闭,会执行完自动关闭,要打开几个,就写几个 f = f.read() f2.write('fff')
6、文件修改
来源:https://www.cnblogs.com/wmxgreat/p/10960393.html