• Chapter 3


    1、序列类型可以使用成员操作符in,大小计算函数(len()),分片([]),都可以迭代。Python内置的序列类型:str,list,tuple,bytearray,bytes.标准库中的序列类型:集合,命名的元组。

    2、*也可作为序列拆分运算符,当且仅当其在赋值运算符右侧时。首先将右侧的序列根据左侧变量个数拆分,并首先按照顺序将数据项赋给没有*的变量,然后剩下的数据项赋给带*的变量

    3、列表推导/列表内涵:[expression for item in list]/[expression for item in list if condition]

    [s+c+d for s in sex for c in color for d in din]

    4、元组和列表都是有序的序列,对其迭代时以从左到右的顺序提供数据项。都包含0个或多个对象引用,数据项可以是任意类型,然后对于集合,是无序的,对其迭代时,集合类型以任意顺序提供数据项。并且其数据项只能是可哈希的类型,float,int,tuple,str都是可哈希的,list,set,dict都是不可哈希对象。因为集合是无序的,可变的,所以不存在索引位置,也就不能分片或者是步长分片。

    5、tuple(),list(),set()都是可调用的函数,无参数是返回空的元组,列表,集合,有参数时尝试将其转化为对应的组合类型。可以看出list和tuple是有序的,set是无序的,但是可以过滤重复的数据项。

    5、集合内涵与列表内涵相似:{expression for each in set}/{expression for each in set if condition}

    6、字典是一种无序的组合类型,包含0或多个键值对。空的{}会创建空字典,不会创建空集合。键是指向可哈希运算的对象的对象引用,而值是指向任意数据类型的对象引用。即键只能是str,touple,float,int型。值可以是任意型。

    7、创建字典主要两种方式:直接创建:

    另外一种是d=dict(root=18,blue=[75,'r',2],21='bejn')

    字典采用[]操作符存取数据项,键是可哈希的对象的引用,‘root’就是可哈希的字符串类型,字面值形式的对象引用(x='root')d['root'](d[x])一个意思。[]内具体的和哈希的类型,虽然d[(4,11)]看着很怪,d[y](y=(4,11))的背后还是d[(4,11)]

    8、任意可迭代的组合类型都可调用len(),max(),min(),all(),any()函数。当然最大最小必须是针对值而言,应该全是数值型的组合类型才有意义。否则,提示不能将字符换类型转化为int

    9、关于range(),对其type表明其是range类型,range(n)提供了n个连续的整数,可以理解为将n个整数存储在了range类型中,如果想查看此可迭代类型中的每个数据项,分两步走:i=iter(range(n))#创建迭代子i,i是个迭代对象。

    第二步:next(i)#循环使用next(i)逐个访问可迭代对象range(n)中的每个数据项。

    访问所有可迭代数据类型的所有数据项实际上都是执行了上面两步,for in只是封装了这两部而已。

    这样访问未免太过繁琐,可以list(range(n)),touple(range(n))将range类型的整数数据项转化为列表或者是元组的数据项,range(n)的存在意义也正在此。

    10、enumerate(i,[index]),返回(index,one item),序列类型都可以用此函数,用法即是在返回每个数据项的同时,对每个数据项标记,返回值中index即是标记,默认标记从0开始,可以在函数中重新定义。enumerate(d)对字典操作时,迭代出结果是‘键’,enumerate(d.items())才可以迭代出’键值对‘,d.items()返回值是(key,value)的元组。所以才会报错,需要不止两个值。(index,key,value)=(index,(key,value))明显对不上号~搞定~

    11、字典与列表,元组,集合等的迭代不同,因为字典内部是键值对,键和值都可迭代,所以,对其迭代与一般的序列稍有不同,直接对字典迭代得出的是‘键’。

  • 相关阅读:
    P1991 无线通讯网
    P1155 双栈排序
    P2024 [NOI2001]食物链
    Bellman-Ford&&SPFA算法详解
    P1387 最大正方形
    NOIP2009 靶型数独
    P3812 【模板】线性基
    Misunderstood-Missing-逆向DP
    P3389 【模板】高斯消元法
    牛客练习赛37
  • 原文地址:https://www.cnblogs.com/lz3018/p/4579778.html
Copyright © 2020-2023  润新知