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'\xe5\xa1\x94\xe7\xb1\xb3'
b2 = bytes(a,encoding='gbk')
print(b2)
# b'\xcb\xfe\xc3\xd7'
################## 将字节转换为字符串 ###################
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')]
我的目标是每天厉害一点点