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)

浙公网安备 33010602011771号