Python学习记录(二)

1、 6种内建序列
  列表 元组 字符串 Unicode字符串 buffer对象 xrange对象

2、 通用序列操作
  索引:序列的所有元素都是有编号的,从0开始递增
    >>>greeting = "hello"
    >>>greeting[0]
    ‘h‘
    >>>greeting[-1]
    ‘o‘
    >>>greeting[-2]
    ‘l‘

  分片:用来访问一定范围内的元素
    >>> tag=‘abcdefghijklmnopqrstuvwyz‘
    >>> tag[9:20]
    ‘jklmnopqrst‘
    >>> tag[20:-2]
    ‘uvw‘
    >>> tag[1:5:2] // 1是开始位置 5是结束位置 2是步长
    ‘bd‘

  序列相加:使用+可以进行序列的连接操作
    >>> tag = [1, 2,3]
    >>> tag2= [4,5,6]
    >>> tag + tag2
    [1, 2, 3, 4, 5, 6]
    >>> tag3 = [1,2]
    >>> tag+tag3
    [1, 2, 3, 1, 2]

  相乘:以数字x乘以一个序列会生成新的序列,而在新的序列中,原来的序列将被重复x次
    >>> ‘python‘*5
    ‘pythonpythonpythonpythonpython‘
    >>> [42]*5
    [42, 42, 42, 42, 42]

  成员资格:检查一个值是否在序列中,使用in运算符
    >>> test
    ‘hello,world!‘
    >>> ‘h‘ in test
    True
    >>> ‘y‘ in test
    False

  长度len、最大值max、最小值min:
    >>> nums = [2,4,1,5,7]
    >>> len(nums)
    5
    >>> max(nums)
    7
    >>> min(nums)
    1
    >>> str=‘abcd1‘
    >>> len(str)
    5
    >>> max(str)
    ‘d‘
    >>> min(str)
    ‘1‘

3、 列表
  列表是可变的mutable, 可以改变列表的内容

  list函数:
      >>> list(‘hello‘)
      [‘h‘, ‘e‘, ‘l‘, ‘l‘, ‘o‘]
      >>> list(1234)
      Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      TypeError: ‘int‘ object is not iterable

  列表元素赋值:
      >>> x=list(‘11111‘)
      >>> x
      [‘1‘, ‘1‘, ‘1‘, ‘1‘, ‘1‘]
      >>> x[0]=2
      >>> x
      [2, ‘1‘, ‘1‘, ‘1‘, ‘1‘]
      >>> x[1]=‘str‘
      >>> x
      [2, ‘str‘, ‘1‘, ‘1‘, ‘1‘]

  删除元素: del 删除单个元素或者部分元素
      >>> x
      [2, ‘str‘, ‘1‘, ‘1‘, ‘1‘]
      >>> del x[3]
      >>> x
      [2, ‘str‘, ‘1‘, ‘1‘]

      >>> name
      [‘p‘, ‘e‘, ‘y‘, ‘i‘, ‘l‘, ‘i‘, ‘a‘]
      >>> del name[2:]
      >>> name
      [‘p‘, ‘e‘]

  分片赋值:可增加长度、替换中间元素、删除元素、
      >>> name = list(‘perl‘)
      >>> name
      [‘p‘, ‘e‘, ‘r‘, ‘l‘]
      >>> name[2:]=‘yilia‘
      >>> name
      [‘p‘, ‘e‘, ‘y‘, ‘i‘, ‘l‘, ‘i‘, ‘a‘]

  列表方法: 对象.方法(参数)
    (1)append:
        >>> name
        [‘p‘, ‘e‘]
        >>> name.append(‘yilia‘)
        >>> name
        [‘p‘, ‘e‘, ‘yilia‘]
        >>> name.append(2)
        >>> name
        [‘p‘, ‘e‘, ‘yilia‘, 2]
    (2)count: 统计某个元素在列表中出现的次数
        >>> x = [[1,2],1,3,4,5,[3,4]]
        >>> count[1]
        >>> x.count(1)
        1
        >>> x.count(2)
        0
        >>> x.count(3)
        1

    (3)extend: 操作对象不可以直接是字符串

        >>> a = ‘python‘
        >>> b = ‘language‘
        >>> a.extend(a)
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        AttributeError: ‘str‘ object has no attribute ‘extend‘
        >>> a.extend(b)
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        AttributeError: ‘str‘ object has no attribute ‘extend‘
        >>> list(a)
        [‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘]
        >>> a = list(a)
        >>> b = list(b)
        >>> a.extend(b)
        >>> a
        [‘p‘, ‘y‘, ‘t‘, ‘h‘, ‘o‘, ‘n‘, ‘l‘, ‘a‘, ‘n‘, ‘g‘, ‘u‘, ‘a‘, ‘g‘, ‘e‘]

    (4)index: 求某个字符的索引
        >>> a = [12, 3, 2, 34, 21, 4]
        >>> a.index(12)
        0
        >>> a.index(5)
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        ValueError: 5 is not in list

    (5)insert:将对象插入到列表
        >>> a
        [12, 3, 2, 34, 21, 4]
        >>> a.insert(3,"yes")
        >>> a
        [12, 3, 2, ‘yes‘, 34, 21, 4]

    (6)pop: 移除列表中的元素(默认是最后一个元素),并且返回该元素 栈:后进先出
        >>> a
        [12, 3, 2, ‘yes‘, 34, 21, 4]
        >>> a.pop()
        4
        >>> a.pop(3)
        ‘yes‘
        >>> a
        [12, 3, 2, 34, 21]

    (7)remove: 移除列表中某个值的第一个匹配项 (无返回值)
        >>> a
        [12, 3, ‘who‘, 2, ‘is‘, 34, 21]
        >>> a.remove(2)
        >>> a
        [12, 3, ‘who‘, ‘is‘, 34, 21]
        >>> a.remove(‘id‘)
        Traceback (most recent call last):
          File "<stdin>", line 1, in <module>
        ValueError: list.remove(x): x not in list
        >>> a.remove(‘is‘)
        >>> a
        [12, 3, ‘who‘, 34, 21]

    (8)reverse: 将列表中的元素反向存放 (无返回值)
        >>> a
        [12, 3, ‘who‘, 34, 21]
        >>> a.reverse()
        >>> a
        [21, 34, ‘who‘, 3, 12]

  P58 (9)sort: 对原序列进行排序,不生成新的序列
        >>> a = [1, 3,5,2,6,4,4]
        >>> b = a.sort()
        >>> a
        [1, 2, 3, 4, 4, 5, 6]
        >>> b

    #以上方法对b赋值无效,需要采用以下方法

      >>> b = a
      >>> b.sort
      <built-in method sort of list object at 0x7f97d091fd88>
      >>> b.sort()
      >>> b
      [1, 2, 3, 4, 4, 5, 6]

      >>> c = [2, 9, 4, 3, 6, 4]
      >>> d = sorted(c)
      >>> c
      [2, 9, 4, 3, 6, 4]
      >>> d
      [2, 3, 4, 4, 6, 9]

  (10)高级排序:
      cmp(x,y): x>y 正数 ; x<y 负数 ; x=y 0
      key=len

      >>> a = [1, ‘aa‘, ‘b‘, ‘aaaaaa‘, ‘aaa‘]
      >>> a.sort(cmp)
      >>> a
      [1, ‘aa‘, ‘aaa‘, ‘aaaaaa‘, ‘b‘]

4、元组
  不可变序列, 通常用括号来表示

    >>> 1,2,3
    (1, 2, 3)

  #空元组
    >>> ()
    ()

  #一个元素的元组需要加,
    >>> 42,
    (42,)

  (1)tuple函数:以一个序列作为参数并把它转化为元组
      >>> tuple([1,2,3])
      (1, 2, 3)
      >>> tuple(‘abc‘)
      (‘a‘, ‘b‘, ‘c‘)
  (2)元组并不复杂,除了创建和访问元组元素外,无其它太多操作

时间: 2024-11-29 01:57:32

Python学习记录(二)的相关文章

python学习记录二

一.列表(习惯了OC,总想把它叫成数组): names = ["ZhangYang","GuYun","XiangPeng","CuLiangChen"] names.append("LeiHaiDong")#添加names.insert(1,"ChenRongHua")#插入names[2] = "XieDi"#修改#删除names.remove("Che

Python学习记录day6

Python学习记录day6 学习 python Python学习记录day6 1.反射 2.常用模块 2.1 sys 2.2 os 2.3 hashlib 2.3 re 1.反射 反射:利用字符串的形式去对象(默认)中操作(寻找)成员 cat commons.py #!/usr/bin/env python#_*_coding:utf-8_*_''' * Created on 2016/12/3 21:54. * @author: Chinge_Yang.''' def login(): pr

Python学习记录day3

Python学习记录 day3 今天是银角大王武sir讲课.先回顾了上节课所学,然后讲到了面向对象思想. set set是一个无序且不重复,可嵌套的元素集合 class set(object):     """     set() -> new empty set object     set(iterable) -> new set object     Build an unordered collection of unique elements.     

Windows API 编程学习记录&lt;二&gt;

恩,开始写Windows API编程第二节吧. 上次介绍了几个关于Windows API编程最基本的概念,但是如果只是看这些概念,估计还是对Windows API不是很了解.这节我们就使用Windows API 让大家来了解下Windows API的用法. 第一个介绍的Windows API 当然是最经典的MessageBox,这个API 的作用就是在电脑上显示一个对话框,我们先来看看这个API的定义吧: int WINAPI MessageBox(HWND hWnd, LPCTSTR lpTe

python学习(二)百度爬虫0.1

参照着网上的爬虫案例(点我),先做了一个demo,基本的爬虫项目创建,以及数据抽取,数据分析,数据保存等等过程基本上有所掌握. 我的需求是需要检索指定的百度贴吧,根据指定的关键字库,搜索出含有关键字的链接,并抽取出来,用于后续告警. 因此,基于需求,分如下步骤: 第一:基于Scrapy创建爬虫项目: 第二:新建TieBaSpider爬虫: 第三:新建外部关键字库dictionary.txt文件,贴吧地址配置url.txt文件: 第一步参考晚上案例. 从第二步开始,编写爬虫,同时创建实例对象以及创

Python学习记录day1

Python学习记录博客是本人记录学习python3过程中的一些记录和过程,日后也可以帮助自己温习. python优点: 1.Python入门简单,功能强大,适用性强: 2.开发效率高,第三方库强大且多: 3.Python无需考虑底层细节: 4.可移植性,跨平台: 5.可扩展性: 6.可嵌入性,Pthon可嵌入到C/C++程序中: python缺点: 1.速度慢,Python比C慢很多,比java也慢一点: 2.代码不能加密,源码是明文: 3.线程不能利用多 CPU 问题: python版本2和

python学习记录第五篇--遍历目录

#coding=utf-8'''@author: 简单遍历目录删除文件的小程序'''import os#查找文件操作def findFile(path): fileList=[] for rootPath,subRoot,fileName in os.walk(path): for sub in fileName: if os.path.isfile(os.path.join(rootPath,sub)): k=os.path.splitext(sub)[1].lower() if k in (

python学习记录第四篇--数据库

只要用到MySQLdb,使用时请先安装MySQLdb,百度上可以下载! #coding=utf-8'''@author: 使用python操作MySQL数据库'''import MySQLdb#import MySQLdb.cursorsconn=MySQLdb.connect(user='root',passwd='root') #connect共三个值,user,passwd,host,无密码且连接本地数据库时,可以都为空.cur=conn.cursor() #创建游标,使用游标进行数据库操

Python学习(二):入门篇:python中流程控制与函数编写

python中流程控制与函数编写 Last Eidt 2014/5/2 转载请注明出处http://blog.csdn.net/jxlijunhao 一,流程控制 1)布尔逻辑 Python中利用True来表示逻辑真,False来逻辑假 not :非 and:与 or   :或 ==  :逻辑等 >>> False==True False >>> False==False True >>> not False True >>> Fal

Python学习记录day5

title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 1.多层装饰器 多层装饰器的原理是装饰器装饰函数后其实也是一个函数这样又可以被装饰器装饰. 编译是从下至上进行的执行时是从上至下进行. #!/usr/bin/env python # _*_coding:utf-8_*_ ''' * Created on 2016/11/29 20:38. * @author: Chinge_Yang. ''' USER