zoukankan      html  css  js  c++  java
  • 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, ' ', D[I])    #‘ ’表示以tab分开键和值。
    • 异常键值的捕获与修复
    PS:循环,range,continue 和 break
  • 相关阅读:
    IdentityServer4系列 | 资源密码凭证模式
    IdentityServer4系列 | 客户端凭证模式
    IdentityServer4系列 | 快速搭建简易项目
    Java9系列第九篇-对HTTP2协议的支持与非阻塞HTTP-API
    跨站资源共享CORS原理深度解析
    Java9系列第8篇-Module模块化编程
    Java9系列第7篇:Java.util.Optional优化与增强
    Kubernetes的Local Persistent Volumes使用小记
    CoProcessFunction实战三部曲之三:定时器和侧输出
    CoProcessFunction实战三部曲之二:状态处理
  • 原文地址:https://www.cnblogs.com/ernest-zhang/p/5494609.html
Copyright © 2011-2022 走看看