python-相互转换(和部分功能)知识

  • 2020 年 1 月 19 日
  • 筆記

#!/usr/bin/env python  # -*- coding:utf-8 -*-  # __author__:anxu.qi  #  Date:2018/11/19
###################################################  # 方法,无@staticmethod,对象.方法  # 方法,有@staticmethod,类.方法  # python中数字 -5 到 257  # 会分配一个内存地址  # 查看内存地址 : id (变量名)  # 索引只能取一个元素  # 切片可以取多个元素  # UTF-8 编码,一个汉字是3个字节。  # GBK 编码,一个汉字是2个字节。  # 一个字节是8位  # 一个数字是一个字符,一个字母也是一个字符。  # 通过 切片 取出的值,他原来是什么类型,取出来的还是什么类型  # 一般情况下,字符串执行一个功能,生成一个新内容,原来内容不变  # 而list、tuple、dict 执行一个功能,自身进行变化
#############################################################  #  # mer = ["电脑","鼠标","U盘","CPU","硬盘"]  # for i in mer:  #     print(i)  # print("------------------------------")  #  # ############################## enumerate ################################    # 列表转换为字典:
ccc = [1,3,5,7,9,"a","b","c"]  # adict = dict(ccc)  # print(adict)  # TypeError: cannot convert dictionary update sequence element to a sequence  # 类型错误:不能将字典更新序列元素转换为序列  bdict = dict(enumerate(ccc))  # 默认添加,从0 开始  print(bdict)  # {0: 1, 1: 3, 2: 5, 3: 7, 4: 9, 5: 'a', 6: 'b', 7: 'c'}  cdict = dict(enumerate(ccc,100))  print(cdict)  # {100: 1, 101: 3, 102: 5, 103: 7, 104: 9, 105: 'a', 106: 'b', 107: 'c'}
# ############### enumerate 自动生成一列,默认0 ,自增1####################  # mer = ["电脑","鼠标","U盘","CPU","硬盘"]  # for key,item in enumerate(mer):  # 不写默认从0 开始  #     print(key,item)  # ######  # for key,item in enumerate(mer,1):  # 从1开始自增1  #     print(key,item)  # inp = input("请输入商品:")  # if inp.isdigit():  #     inp = int(inp)  #     print(mer[inp-1])  # ######################### range ###########################  # # range 用于获取指定范围的数,range(0,10)  # print( range(1,10))  # for i in range(1,10):  #     print(i)  # # 打印 奇数。  # for i in range(1,10,2):  #     print(i)  # #13579  # for i in range(10,1,-1):  #     print(i)  # #1098765432  # ############################################  # li = ['tami','beijing','fengtai']  # ee = len(li)  # for i in range(0,ee):  #     print(i,li[i])  # """  # 0 tami  # 1 beijing  # 2 fengtai  # """    ################### bytes #############################  a = "塔米"  # 将字符串转换为字节  b1 = bytes(a,encoding="utf-8")  print(b1)  # b'xe5xa1x94xe7xb1xb3'  b2 = bytes(a,encoding='gbk')  print(b2)  # b'xcbxfexc3xd7'    ################## 将字节转换为字符串 ###################  new1 = str(b1,encoding='utf-8')  print(new1)  new2 = str(b2,encoding='gbk')  print(new2)      #####################  x = str()  # 创建字符串  # 转换成字符串  #####################  m = bytes()  # 创建字节  # 转换成字节,字符串,要变成什么编码类型的字节    ################################ list ################################  # 元素的集合,列表  # list -> 创建列表,将其他元素转换为列表  ################# 创建 #################  li = [11,22,33,44]  li = list()  li = list([11,33,44])  ################# 转换 ###################  ##### 只要是可以被迭代的都可以。##########  ss = "塔米"  ### str -》 list  ## 字符串转换为列表#######  t1 = list(ss)  # 内部进行for循环,将循环的每一个元素,当做列表的元素  print(t1)  # ['塔', '米']    ### tulpe -》 list  ## 元组转换为列表 ########  tu = ("tami","beijing","jianjian",11,22,33)  t2 = list(tu)  print(t2)  # ['tami', 'beijing', 'jianjian', 11, 22, 33]      #### dict -》 list ## 字典转换为列表 ###########  d2 = {      "k1":"tami",      "k2":"beijing"  }  t3 = list(d2)     # 默认是循环的key  print(t3)  # ['k1', 'k2']  t4 = list(d2.items())   # items 是key和value  print(t4)  # [('k1', 'tami'), ('k2', 'beijing')]