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创建的字典值指向的是同一个内存地址

posted on 2019-01-12 12:37  拉风摊主  阅读(277)  评论(0编辑  收藏  举报

导航