python数据转换

主要内容

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
# 3:字符串与列表相互转换 ******
s = 'abc123呵呵'
print(list(s))  # ['a', 'b', 'c', '1', '2', '3', '呵', '呵'] 字符串转列表
ls = ['a', 'b', 'c', '1', '2', '3', '', '']
n_s = '.'.join(ls)  # 列表转字符串 ''.join()
print(n_s)  # a.b.c.1.2.3.呵.呵
#
s = 'abc123呵呵'
print(list(s))  # ['a', 'b', 'c', '1', '2', '3', '呵', '呵']
ls = ['a', 'b', 'c', '1', '2', '3', '', '']
n_s = ''.join(ls)  # 这是没有点号的显示
print(n_s)  # abc123呵呵    这是没有点号的显示,点好也可以转换为其他
#
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里就行

ls2 = ['ie=UTF-8', 'wd=你好帅']
n_s2 = '@'.join(ls2)
print(n_s2)  # ie=UTF-8@wd=你好帅     ''.join() 中''可以加其他的 比如@ 或4  则列表组合中间多一个其他

# 4:需求:"ie=UTF-8&wd=你好帅" => [('ie', 'UTF-8'), ('wd', '你好帅')]
res = []
s4 = "ie=UTF-8&wd=你好帅"
ls4 = s4.split('&')  # ['ie=UTF-8', 'wd=你好帅']
for ele in ls4:  # v = ie=UTF-8 | wd=你好帅  for 循环把每个值取出来
    k, v = ele.split('=')  # k: ie  v: UTF-8   赋值 k ,v = ele.split('=')
    res.append((k, v))
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('=')  # 去掉 =
    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)
# 7.list与tuple、set直接相互转化 - 直接 类型()
# 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)

 

 

 

你可能感兴趣的:(python数据转换)