python:列表、元组和字典

1.1、特点:

  任意对象的有序集合
  通过偏移量读取
  可变长度,异构以及任意嵌套
  属于可变序列的分类
  对象引用数组:当把一个对象赋给一个数据结构元素或变量名时,python总会存储对象的引用,而不是对象的拷贝。
1.2、创建列表
    name_list = ['zhang', 'wang', 'li']
    或 name_list = list(['zhang', 'wang', 'li'])
1.3、基本操作
    索引:name_list[1]   列表中,第一个元素索引值为0.
    追加:name_list.append('zhao'),追加可以重复,但是不建议这样做。
    删除: name_list.pop()---删除最后一个;
          name_list.pop(2)----按照索引位置删除
          name_list.remove('zhang')---删除指定元素。
    计数:name_list.count('zhao')
    插入:name_list.insert(2,'zhangsan')
    反转:name_list.reverse()
    排序:name_list.sort() --按照ASC码排序.
    去重:for i in range(name_list.count('zhang')): 
             name_list.remove('zhang')
    切片:在列表中取出一段数据。顾首不顾尾。name_list[0:3]---切取前3个元素,name_list[0:4:2]隔一个取一个,最后一位代表间隔位长。
          name_listp[-2:]---切取最后两个元素
    扩展:a = a + b 或 a.extend(b) 把b附加到a上。 
    dir(name_list) 查看列表可用语法,忽略‘_add_’等双下划线的语法
  判断元素是否在列表中:'zhang' in name_list
    在某些应用中,将列表的pop和append连用,实现快速的后进先出。(LIFO)
2、元组
  2.1 元组是只读的列表,
 ages = (11, 22, 33, 44, 55)
 或
 ages = tuple((1122334455))
  注:元组的元素不可以修改,但元组元素的元素可以修改。eg:元组的一个元素是字典,字典的元素可以修改。
    dir(list)
    >>>'count','index'
  2.2 列表转换为元组  type查看列表类型。tuple(name_list)
      元组转列表  list(list)
3.执行脚本传入参数

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

1
2
3
4
5
6
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
import sys
 
print sys.argv 

4、字典
   字典是python语言中唯一的映射类型。
    映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的关系,通常被认为是可变哈希表。

字典对象是可变的,它是一个容器类型,能存储任意个数的Python对象,其中也可包括其他容器类型。

特点:

    通过键而不是偏移量读取

    任意对象的无序集合

    可变长,异构,任意嵌套

    属于可变映射类型

字典类型与序列类型的区别:

1.存取和访问数据的方式不同。
2.序列类型只用数字类型的键(从序列的开始按数值顺序索引);
3.映射类型可以用其他对象类型作键(如:数字、字符串、元祖,一般用字符串作键),和序列类型的键不同,映射类型的键直4.接或间接地和存储数据值相关联。
5.映射类型中的数据是无序排列的。这和序列类型是不一样的,序列类型是以数值序排列的。
6.映射类型用键直接“映射”到值。

 
创建字典:
1
2
3
person = {"name""mr.wu"'age'18}
person = dict({"name""mr.wu"'age'18})

1、键与值用冒号“:”分开;
2、项与项用逗号“,”分开;
3、字典中的键必须是唯一的,而值可以不唯一。

注意:如果字典中的值为数字,最好使用字符串数字形式,如:'age':'040′ 而不用 ‘age':040

常用操作:

    D = {‘egg’:3, 'ham':1, 'spam':2}

  • 索引  D['egg']
  • 新增  D['brunch'] = 'Bacon'   字典的键是无序集合,新增的时候不可以指定键的位置。
  • 删除  del D['egg']
              D.pop('egg')  指定删除的键
  • 循环
  • 长度 len(D)
  • 显示键,值,键值
    >>>list(D.values())          >>>list(D.keys())          >>>list(D.items()) 
  • get方法: D.get(key.default)
    当键不存在时,字典遍历寻找后会返回一个missing -key 的错误,然而键不存在的时候通过get可以获得一个系统默认值None或用户自定义的default值。
    eg:>>>D.get('spam')      2
         print(D.get('toast'))      None
         D.get('toast', 88)          88
  • update

  • 循环
    D = {'a':1, 'b':2, 'c':3}
    for I in D:
        print(I, '\t', D[I])    #‘\t’表示以tab分开键和值。
  • 异常键值的捕获与修复
PS:循环,range,continue 和 break

 

posted @ 2016-05-15 09:21  张瑞东  阅读(506)  评论(0编辑  收藏  举报