字典相关操作
1类型转换
dict()
字段转换一般不使用关键字,而是自己编写代码进行转化
2字典掌握的方法
user = {
'name':'zhangsan',
'age': 18,
'like':['ball','music','xiaoji']
}
print(user['name'])#zhangsan
print(user['aaa'])# zhi接报错
print(user.get('name'))#zhangsan
print(user.get('aaa'))#如果不存在k键就会返回None
print(user.get('aaa','111'))#如果不存在k键就会返回111
#3修改值的数据
user['name']='lisi'#将name的值替换成list
#4新增键值对
user['sex']='boy'#添加{'sex':'boy'}
#5删除数据
del user['name']
a1=user.pop('age')
print(a1)#就会弹出age:18数据值
#6统计字典中键值对的个数
print(len(user))#会输出user的键值个数
#7字典三剑客
#用。keys方法一次性输出所有的键
print(user.keys())#一次性输出字典的所有的键
#用.value一次性输出所有值
print(user.value())#一次性输出所有值
#用。items()方法一次性获取字典中所有的键值对
print(user.items())#一次性获取字典的所有值dict_items([('name', 'zhangsan'), ('age', 18), ('like', ['ball', 'music', 'xiaoji'])])
for k,v in user():
#就等于
for i in user():
k,v=i
#8补充说明
user1={}
print(user1.fromkeys(['name','age','hobby'],(123)))#{'name': 123, 'age': 123, 'hobby': 123}
print(user1.fromkeys(['name','age','hobby'],[])#{'name': [], 'age': [], 'hobby': []}
user1['name'].append('jason')
user1['pwd'].append(10)
user1['hobby'].append('sing')
print(user1)
#{'name': ['jason', 10, 'sing'], 'pwd': ['jason', 10, 'sing'], 'hobby': ['jason', 10, 'sing']}
# 键存在则不修改 结果是键对应的值
print(res) # {'name': [], 'pwd': [], 'hobby': []}
res = user_dict.setdefault('username','tony')
print(user_dict, res)
# jason', 'password': 123, 'hobby': ['read', 'music', 'run']} jason
# 存不存在则新增键值对 结果是新增的值
res = user_dict.setdefault('age',123)
print(user_dict, res)
# jason', 'password': 123, 'hobby': ['read', 'music', 'run'], 'age': 123} 123
元组相关操作
1类型转换
tuple()
支持for循环的数据类型都可以转换为元组
2元组必须掌握的方法
t1 = (11, 22, 33, 44, 55, 66)
print(l1[2])# 1.索引取值
print(l1[2:4])# 2.切片操作
print(l1[0:5:2])# 3.间隔、方向
print(len(t1)) # 6 # 4.统计元组内数据值的个数
print(t1.count(11))# 5.统计元组内某个数据值出现的次数
print(t1.index(22))# 6.统计元组内指定数据值的索引值
# 7.元组内如果只有一个数据值那么逗号不能少
# 8.元组内索引绑定的内存地址不能被修改(注意区分 可变与不可变)
#可变的:列表、集合、字典
#不可变的:数字、字符串、元组
# 9.元组不能新增或删除数据
内置方法之集合相关操作
set()
集合内数据必须是不可变类型(整型 浮点型 字符串 元组)
集合内数据也是无序的 没有索引的概念1类型转换
去重
去除集合内重复的数据值
l2 = {11, 33, 44, 88, 99}
l1 = set(l2)
l2 = list(l1)
print(l2) # [33, 99, 88, 11, 44]
关系运算
& 共同的部分
- 独有的部分
| 全部的部分(和)
^ 独有部分的和
eg:
l1 = {11, 22, 33, 44, 55, 66}
l2 = {11, 33, 44, 88, 99}
print(l1 & l2) # 两个共同的数字
print(l1 - l2) # l1独有的数字
print(l1 | l2) # 两个共同的数字
print(l1 ^ l2) # 两个各自独有的数字
父级,子集
< 或者 >
字符编码理论
1.字符编码只针对文本数据
2.计算机存储数据的本质是二进制,因为计算机只认识0和1,在和计算机交互的时候,用的是我们能够读懂的语言
3.字符编码的发展史:
一家独大
计算机是美国人发明的,由于计算机值认识0和1,于是定义了字符编码,但是只记录了英文字符与数字之间的对应关系,于是有了ASCII码,内部只记录英文字符和数字之间的对应关系
群雄割据
越来越多国家使用计算机之后,各个国家都开发了属于自己国家的字符编码
中国:GBK编码,内部记录了中文字符,英文字符,和数字之间的对应关系,2bytes起步存储中文
韩国:Euc_kr码,内部记录了韩文字符、英文字符与数字之间的对应关系。
日本:shift_JTS码,内部记录了日文字符、英文字符与数字之间的对应关系。
.万国码:unicode,兼容各个国家的字符。原有的字符全部使用2bytes起步存储。
UTF家族,是针对unicode的优化版本,常用的是utf-8。英文1bytes存储,其它统一3bytes存储字符。
内存使用的是Unicode,硬盘使用utf8。
编码与解码
编码:将人类可以读懂的字符按照指定的编码形式转换成计算机能够读懂的语言(数字)。简记:人类的字符转换成计算机的字符。关键字:encode.
解码:将计算机能够读懂的语言按照指定的编码形式转换为人可以独懂得字符,关键字:decode
字符编码实操
1.针对乱码切换编码即可
2.编码与解码
编码:将人类的字符按照指定的编码编码成计算机能够读懂的数据
字符串.encode()
解码:将计算机能够读懂的数据按照指定的编码解码成人能够读懂
bytes类型数据.decode()
3.python2与python3差异
python2默认的编码是ASCII
1.文件头
# encoding:utf8
2.字符串前面加u
u'你好啊'
python3默认的编码是utf系列(unicode)
标签:编码,内置,name,字符,数据类型,user,l1,print
From: https://www.cnblogs.com/bnmm/p/16745698.html