zoukankan      html  css  js  c++  java
  • Python 从入门到放弃(一)

    Python 从入门到放弃(一)

    一个没有逻辑顺序的python笔记,包括日常使用python时的总结与阅读《Python基础教程》([挪] Magnus Lie Hetland 著) 的读书笔记:

    这里写图片描述

    2011/11/20 Mon 15:29

    列表 (List) 和元组 (Tuple)

    Python中有6中内建序列(sequence):list,tuple,字符串,Unicode字符串,buffer,xrange。

    序列映射是两种主要的容器(container)。
    序列包括 list 和 tuple , 映射包括 dict
    set 即不是序列又不是映射

    序列操作:indexing,slicing,adding,multiplying

    slicing:第一个参数包含,第二个不包含,可以用第三个参数指定步长,步长可以是负数。

    In [4]: a
    Out[4]: [0, 1, 2, 3, 4, 5, 6, 7, 8]
    In [5]: a[8:3:-2]
    Out[5]: [8, 6, 4] 
    

    adding:同类序列可以相加,进行连接
    multiplying:新的序列重复原有序列,乘数为重复次数

    In [6]: a = [1,2] * 8
    a
    Out[7]: [1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
    

    None 用来代表空值,类似matlab的NaN,如需要无值的初始化,可以:

    a = [None] * 6
    a
    Out[9]: [None, None, None, None, None, None]
    

    成员资格:in 来检查是否是成员,对于字符串可以如下:(Python2.3起)

    In [10]: sub = 'too young too simple'
    In [11]: 'you' in sub
    Out[11]: True
    In [12]: 'naive' in sub
    Out[12]: False
    

    分片赋值:可以替换成与原序列不等长的内容:

    name = list('Pear')
    name
    Out[26]: ['P', 'e', 'a', 'r']
    name[1:] = list('ahahaha')
    name
    Out[28]: ['P', 'a', 'h', 'a', 'h', 'a', 'h', 'a']
    

    同时分片赋值还能实现 insert 的 method 功能,非常高级666:

    numbers = range(5)
    numbers
    Out[14]: [0, 1, 2, 3, 4]
    numbers[1:1]
    Out[15]: []
    numbers[1:1] = [666,666]
    numbers
    Out[17]: [0, 666, 666, 1, 2, 3, 4]
    

    list 的各种 method :append,count(查元素个数),index(第一个匹配项的索引位置),insert,pop(默认LIFO,可指定pop(someindex) )。
    reverse 方法可以反向存放。(注意列表的 method 一般都为原位操作,改变原列表),sort 排序。reversed 和 sorted 函数可以不改变原 list 。

    a
    Out[30]: [3, 5, 1, 8, 6, 9]
    sorted(a)
    Out[31]: [1, 3, 5, 6, 8, 9]
    a
    Out[32]: [3, 5, 1, 8, 6, 9]
    a.sort()
    a
    Out[34]: [1, 3, 5, 6, 8, 9]
    

    sort 排序可以传参数,key可以传len,表示按照长度排序。反向排序reverse=True:

    a.sort(reverse=True)
    a
    Out[40]: [9, 8, 6, 5, 3, 1]
    

    tuple 是不可变的 sequence,不能修改。用逗号分割一些值实际上就是创造了tuple,而单个值加逗号也可以创建tuple:

    1,
    Out[41]: (1,)
    1,2,3
    Out[42]: (1, 2, 3)
    

    tuple 能在映射(dict)和集合的成员中作 key ,而 list 不行。
    tuple 作为很多内建函数的返回值。

    THE END

  • 相关阅读:
    关于工作态度
    ajax请求链接加时间戳
    自动消失的提示效果
    表设计原则
    进度展示图
    freemarker时间格式化
    Java的Thread.currentThread().getName() 和 this.getName() 以及 对象.getName()区别???
    使用Github做服务器展示前端页面
    Spring的生命周期
    输入三个字符,从小到大的顺序输出这三个字符
  • 原文地址:https://www.cnblogs.com/morikokyuro/p/13256867.html
Copyright © 2011-2022 走看看