美文网首页
【原】Python学习笔记——基础篇

【原】Python学习笔记——基础篇

作者: 曹赫洋 | 来源:发表于2018-12-11 22:48 被阅读0次

    List和Tuple类型

    List用[],Tuple用() , Python 规定,单元素 tuple 要多加一个逗号“,”,为了避免歧义。

    tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

    dict

    类似于java 的map,k:v 结构,语法如下:

    d = {
        'Adam': 95,
        'Lisa': 85,
        'Bart': 59
    }
    len(d)  #获取长度
    

    避免 KeyError 发生,有两个办法:

    一是先判断一下 key 是否存在,用 in 操作符:

    if 'Paul' in d:
        print d['Paul']
    

    如果 'Paul' 不存在,if语句判断为False,自然不会执行 print d['Paul'] ,从而避免了错误。

    二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:

    >>> print d.get('Bart')
    59
    >>> print d.get('Paul')
    None
    

    ict的特点
    1.查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
    2.dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
    3.由于dict是按 key 查找,所以,在一个dict中,key不能重复。
    4.dict的第二个特点就是存储的key-value序对是没有顺序的!这和list不一样:
    5.作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。

    set

    类似于list,但是无序,不能重复
    特点:如果删除的元素不存在set中,remove()会报错

    Python函数之返回多值

    在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。

    Python之定义默认参数、可变参数

    对list进行切片

    >>> L[0:3]
    ['Adam', 'Lisa', 'Bart']
    

    L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素,如果第一个索引是0,还可以省略:

    >>> L[:3]
    ['Adam', 'Lisa', 'Bart']
    

    也可以从索引1开始,取出2个元素出来:

    >>> L[1:3]
    ['Lisa', 'Bart']
    

    只用一个 : ,表示从头到尾:

    >>> L[:]
    ['Adam', 'Lisa', 'Bart', 'Paul']
    

    因此,L[:]实际上复制出了一个新list。

    切片操作还可以指定第三个参数:

    >>> L[::2]
    ['Adam', 'Bart']
    

    第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个,把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。

    倒序切片取负数即可,字符串也可以切片。

    索引迭代 enumerate() 函数

    迭代dict的value,迭代dict的key和value

    for循环支持条件过滤

    相关文章

      网友评论

          本文标题:【原】Python学习笔记——基础篇

          本文链接:https://www.haomeiwen.com/subject/bbhyhqtx.html