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. hdu 4826 Labyrinth(简单dp)

    Description 度度熊是一只喜欢探险的熊,一次偶然落进了一个m*n矩阵的迷宫,该迷宫只能从矩阵左上角第一个方格开始走,只有走到右上角的第一个格子才算走出迷宫,每一次只能走一格,且只能向上向下向 ...

  2. spfa(模板)

    #include<iostream> #include<cstdio> #include<cstring> using namespace std; int cnt ...

  3. LOJ 2554 「CTSC2018」青蕈领主——结论(思路)+分治FFT

    题目:https://loj.ac/problem/2554 一个“连续”的区间必然是一个排列.所有 r 不同的.len 最长的“连续”区间只有包含.相离,不会相交,不然整个是一个“连续”区间. 只有 ...

  4. Node.js环境下通过Express创建Web项目

    通过Express命令创建项目 Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express ...

  5. 探索Redis设计与实现4:Redis内部数据结构详解——ziplist

    本文转自互联网 本系列文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查看 https://github.com/h2pl/Java-Tutorial ...

  6. Unicode数据类型的是是非非(转)

    转:http://cio.chinabyte.com/344/9002344.shtml 在SQL Server数据库中,数据类型主要分为两类,分别为Unicode数据类型与非Unicode数据类型. ...

  7. 2018icpc南京/gym101981 G Pyramid 找规律

    题意: 数一个金字塔里面有多少个正三角形. 题解: ans[n]=n*(n-1)*(n-2)*(n-3)/24 #include<bits/stdc++.h> using namespac ...

  8. CSS样式初始化代码

    CSS样式初始化代码 为什么要初始化CSS? 建站老手都知道,这是为了考虑到浏览器的兼容问题,其实不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面差异.当然,初始化 ...

  9. Webx.0-Web3.0:Web3.0

    ylbtech-Webx.0-Web3.0:Web3.0 Web3.0只是由业内人员制造出来的概念词语,最常见的解释是,网站内的信息可以直接和其他网站相关信息进行交互,能通过第三方信息平台同时对多家网 ...

  10. cs224d 作业 problem set2 (一) 用tensorflow纯手写实现sofmax 函数,线性判别分析,命名实体识别

    Hi Dear Today we will use tensorflow to implement the softmax regression and linear classifier algor ...