9、str类型和byte类型转换、列表拾遗、元组拾遗、字典拾遗、如何判断对象是否可迭代
str(字节类型,编码) 可用于创建字符串,或者将其他的转换成字符串
a= ‘李露’
#将字符串转换成字节流
b = bytes(a,encoding = 'utf-8')
#将字节转换成字符串
str(b,encoding = 'utf-8') encoding表示b的格式
list是元素的集合 可用于创建列表,或者将其他的转换成列表 元组也可以转换成列表 字典也可以转换成列表,list(字典)转换的结果是key,因为默认的循环结果是key list(字典.values())结果是value list(字典.items()) 结果是键值对[(key,value),(key,value )]
1、创建 a = [11,22,33] a = list() a = list([11,22,33])
2、转换
a= ‘李露’
能进行for循环操作表示其可迭代,因此可以 a = list(a) a =['李,‘露’] list此时的参数必须可迭代,此时其内部就是进行了一次for循环
那么,如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断:
>>> from collections import Iterable
>>> isinstance('abc', Iterable) # str是否可迭代
True
>>> isinstance([1,2,3], Iterable) # list是否可迭代
True
>>> isinstance(123, Iterable) # 整数是否可迭代
False
一般字符串,执行一个功能,生成一个新内容,原来内容不变
list,tuple,dict执行一个功能,自身进行变化
新建字典:
a = {"k1":123}
a=dict(k=123,k2=345)
a = [11,22,33]
new_a = dict(enumerate(a))
dic = {'k1':123,'k2':456,'k4':111}
dic.fromkeys(['k1','k2',‘k3’ ],'alex') 从dic字典中循环找key,并赋值alex ,并生成一个新的字典 {'k1':‘’alex,'k2':‘’alex,'k3':‘’alex} 这个方式是个静态方法 而get不是的 两者的作用相同
n= dict.fromkeys(['k1','k2','k3'],[]) n ={'k1':[],'k2':[],'k3':[]} n['k1'].append('x') n ={'k1':[x],'k2':[x],'k3':[x]} 通过fromkeys创建的字典值指向的是同一个内存地址