2 数据类型之间的转换
总结
''' 1:数字类型:算术运算 bool:判断真假,运用场景在逻辑运算里较多,比如while循环了。 字符串:可以索引取值,可以嵌套 列表:存放任意数据类型,因为是按序存放的,故可以索引取值, 字典:可以理解为某种意义上的列表,但区别是存放是无序的,故存放效率高,另外会对数据进行描叙性表述,故取值时是按key来取值的 元组:给看不给“改”的列表 集合:对数据去重 2:数字类型和字符串转化 int,float,str, 列表转字符串: ''.join() 不分开 | 'x'.join()==>以x隔开, 字符串转列表: res.split() 默认按空格拆 res.split(x) x属于res,则去掉x,两边开 list与tuple、set直接相互转化 参考数字和字符串格式 str与tuple、set之间转化通过list转化 3:utf-8在传输过程中运用,理解为压缩包比较好,传输快 utf-16 字节固定,读取内容快 数字类型之间的转化 主要关注两个用法 join 组合 用于 列表转为字符串 split 拆分 字符串转化为列表 字典与其他之间的转化 间接转化 '''
res = int('10') # 字符串转化为数字 print(res) res = int('-3') print(res) res = float('.15') print(res) # 0.15 res = float('-.15') print(res) # -015 res = float('-3.15') print(res) # -3.15
2 字符串和列表相互转换
1 字符串转化为列表
1 直接list转化
s = 'abc123呵呵' print(list(s)) # ['a', 'b', 'c', '1', '2', '3', '呵', '呵'] 字符串转列表
2 使用split转化
split() 默认按照空格拆
res.split(x) x属于res,则去掉x,两边开
s1 = 'a b c 1 2 3 呵 呵' res = s1.split() # 把字符串转化为列表 默认按空格拆 print(res) # ['a', 'b', 'c', '1', '2', '3', '呵', '呵']
s2 = 'ie=UTF-8&wd=你好帅' res = s2.split('&') # 字符串改列表 print(res) # ['ie=UTF-8', 'wd=你好帅'] split默认按空格来隔开,s2.split('&')则是把&两边分开为列表,去掉& # 比如- 或8,只要是在s2里就行
2 列表转为字符串
主要方法是join " ".join(list) 直接组合成字符串
ls = ['a', 'b', 'c', '1', '2', '3', '呵', '呵'] n_s = "".join(ls) print(n_s,type(n_s))
# abc123呵呵 <class 'str'>
"x".join(list) 将列表组合在一起 以@为中间
ls2 = ['ie=UTF-8', 'wd=你好帅'] n_s2 = '@'.join(ls2) print(n_s2) # ie=UTF-8@wd=你好帅 ''.join() 中''可以加其他的 比如@ 或4 则列表组合中间多一个其他 # ie=UTF-8@wd=你好帅
案例
# 4:需求:"ie=UTF-8&wd=你好帅" => [('ie', 'UTF-8'), ('wd', '你好帅')] s = "ie=UTF-8&wd=你好帅" res = [] ls4 = s.split("&") print(ls4) # ['ie=UTF-8', 'wd=你好帅'] for ele in ls4: print(ele) # ie=UTF-8 # wd=你好帅 k,v = ele.split("=") # v = ie=UTF-8 | wd=你好帅 for 循环把每个值取出来 res.append((k,v)) # k: ie v: UTF-8 赋值 k ,v = ele.split('=') print(res)
# 5.需求:"ie=UTF-8&wd=你好帅" => {'ie': 'UTF-8', 'wd': '你好帅'}
res = {} s5 = "ie=UTF-8&wd=你好帅" ls5 = s5.split('&') # ['ie=UTF-8', 'wd=你好帅'] for ele in ls5: k, v = ele.split('=') # 去掉 = print(k,v) # ie UTF-8 wd 你好帅 res[k] = v # 添加字典的模式 res[k] = v 如果字典中res,有k这个,则把值v赋值给k,如果没有,则在字典中添加k:v print(res) # {'ie': 'UTF-8', 'wd': '你好帅'}
# 6.需求:[('ie', 'UTF-8'), ('wd', '你好帅')] => {'ie': 'UTF-8', 'wd': '你好帅'} res = {} # 建立新的空字典 ls6 = [('ie', 'UTF-8'), ('wd', '你好帅')] for k, v in ls6: res[k] = v print(res)
- 直接 类型()
# 8.需求:将汉字转化为数字 # 将 壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟 # 转化为 1、2、3、4、5、6、7、8、9、10、100、100 # 作业:壹仟捌佰玖拾叁 => 1893 num_map = { '壹': 1, '贰': 2, '仟': 1000 } ls8 = ['贰', '壹', '仟'] res = [] for v in ls8: num = num_map[v] # 通过key去映射表拿到对应的值,完成 '贰' => 2 res.append(num) print(res)