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、文件修改

posted on 2019-06-01 17:50  *星  阅读(96)  评论(0编辑  收藏  举报