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

  • 相关阅读:
    Java版本及历史简述
    ASCII、Unicode、UTF-8、UTF-16、GBK、GB2312、ANSI等编码方式简析
    同步(Synchronous)和异步(Asynchronous)方法的区别
    例10-12 *uva1637(概率dp)
    例10-11 uva11181
    例10-10 uva10491(简单概率)
    例10-9 uva1636简单概率问题
    全排列hash-康拓展开
    10-8 uva1262密码
    例10-6 uva1635(唯一分解定理)
  • 原文地址:https://www.cnblogs.com/liusiluandzhangkun/p/10259325.html
Copyright © 2020-2023  润新知