python-相互转换(和部分功能)知识
#!/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')]