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

python:列表、元组和字典的更多相关文章

  1. Python—列表元组和字典

    Python-列表元组和字典 列表 元组 字典 列表: 列表是Python中的一种数据结构,他可以存储不同类型的数据.尽量存储同一种类型 列表索引是从0开始的,我们可以通过索引来访问列表的值. 列表的 ...

  2. Python成长笔记 - 基础篇 (三)python列表元组、字典、集合

    本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码   一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...

  3. python—列表,元组,字典

    ——列表:(中括号括起来:逗号分隔每个元素:列表中的元素可以是数字,字符串,列表,布尔值等等) (列表元素可以被修改)  list(类)    (有序的) [1]索引取值:切片取值:for循环:whi ...

  4. Python列表元组和字典解析式

    目录 列表解析式List comprehensive 集合解析式Set comprehensive 字典解析式Dict comprehensive 总结 以下内容基于Python 3x 列表解析式Li ...

  5. python列表元组

    python列表元组 索引 切片 追加 删除 长度 循环 包含   定义一个列表 my_list = []     my_list = list()   my_list = ['Michael', ' ...

  6. 【277】◀▶ Python 列表/元组/字典说明

    目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...

  7. Python 列表,元组,字典

    0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...

  8. Python 列表/元组/字典总结

    序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...

  9. Python列表,元组,字典,字符串方法笔记

    01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...

  10. python3笔记十八:python列表元组字典集合文件操作

    一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle  #数据持久性模块 #封装的方法def OptionData(data,path):    # ...

随机推荐

  1. 树莓派上安装boost库

    一.安装boost库 sudo apt-get install libboost-dev aptitude search boost 二.编写测试代码 #include <iostream> ...

  2. express上传图片

    var express = require('express') var app = express() var proxy = require('http-proxy-middleware') co ...

  3. vue之slot用法

    slot元素作为组件模板之中的内容分发插槽.这个元素自身将被替换. 有 name 特性的 slot 称为具名 slot. 有 slot 特性的内容将分发到名字相匹配的具名 slot. 一.单个组件 如 ...

  4. Android 中RelativeLayout各个属性的含义

    转载博客:http://blog.csdn.net/softkexin/article/details/5933589 android:layout_above="@id/xxx" ...

  5. (转)MyEclipse中使用git

    转:https://www.jianshu.com/p/92ee5c99d3a8 Myeclipse老版本可能需要安装一个插件,高版本中已经安装好了. 连接github 当然我们之前已经有仓库了,我们 ...

  6. layui表单提交使用form.on('submit(sub)',function (){}) 使用ajax请求时回调不执行的原因及解决方法

    ayui使用官方的表单模块form.on('submit(sub)',function (){}) 提交,使用ajax请求向后台请求一个执行结果,根据结果进行处理,出现回调无法执行,并且页面出现了刷新 ...

  7. Chosen 的 optgroup 第一级单击的时候选择二级的全部

    相关环境 及 版本 Chosen (v1.6.2) https://harvesthq.github.io/chosen/ jQuery (v1.8.3) 官网 http://jquery.com/ ...

  8. Autofac框架详解 转载https://www.cnblogs.com/lenmom/p/9081658.html

    一.组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1.类型创建RegisterType AutoFac能够通过反射检查一个类型,选择 ...

  9. 将libvex移植到Visual Studio编译平台下的经验总结

    1. 两难 将libvex从Linux移植到Windows,移植工作聚集于Cross-Compiler,而不是预料的Cross-Platform. VC++ Compiler到目前为止只支持C89标准 ...

  10. JVM运行时数据区及对象在内存中初始化的过程

    JVM运行时数据区 Java虚拟机所管理的内存区域,也称为运行时数据区,分为以下几个运行时数据区,如图所示 程序计数器:当前程序所执行字节码的行号指示器 程序计数器(Program Counter R ...