zoukankan      html  css  js  c++  java
  • 数据类型元组和字典

    一、基本数据类型——元组 

       元组:是一种与列表非常相似的数据类型。但是它一旦创建便不能再修改,所以又叫只读列表。

      定义:与列表类似,只不过[]改成()

      特性:

    1. 可存放多个值(可以存放复杂数据类型)
    2. 不可变(显式地告诉别人此处数据不可修改,常用于数据库连接配置信息等
    3. 按照从左到右的顺序定义元组元素,下标从0开始顺序访问,有序
    4. 元组本身不可变,如果元组中还包含其它可变元素,这些可变元素可以改变。(比如列表等)

    1、元组常用操作

       创建

    ages = (11, 22, 33, 44, 55)
    #
    ages = tuple((11, 22, 33, 44, 55))

      索引&切片

    #索引
    >>> ages = (11, 22, 33, 44, 55)
    >>> ages[0]
    11
    >>> ages[3]
    44
    >>> ages[-1]
    55
    
    #切片
    >>> name = ('egon','alex','seven','yuan')
    >>> name[0:2]
    ('egon', 'alex')
    >>> name[2:5]
    ('seven', 'yuan')
    >>> name[:2]
    ('egon', 'alex')
    >>> name[2:]
    ('seven', 'yuan')
    >>> name[:]
    ('egon', 'alex', 'seven', 'yuan')

      包含、长度和循环

    >>> ages = (11, 22, 33, 44, 55)
    >>> 11 in ages                 # 包含
    True
    >>> 313 in ages
    False
    >>> 22 not in ages
    False
    >>> len(ages)                  # 长度
    5
    >>> for age in ages:         # 循环
    ...     print(age)
    ...
    11
    22
    33
    44
    55

    二、基本数据类型——字典

      字典是Python语言中唯一的映射类型

    1、字典定义:{key1:value1,key2:value2}

    1. 键与值用冒号“:”分开;
    2. 项与项用逗号“,”分开;

    2、字典特性:

    1. key-value结构
    2. key必须可hash、且必须为不可变数据类型、必须唯一
    3. 可存放任意多个值、可修改、可以不唯一
    4. 无序

    3、字典常用操作

      字典创建

    person = {"name": "alex", 'age': 20}
    #
    person = dict(name='seven', age=20)
    #
    person = dict({"name": "egon", 'age': 20})
    #
    
    person = dict((['name','苑昊'],['文周',18]))
    {}.fromkeys(seq,100) #不指定100默认为None
    #注意
    >>> dic={}.fromkeys(['k1','k2'],[])
    >>> dic
    {'k1': [], 'k2': []}
    >>> dic['k1'].append(1)
    >>> dic
    {'k1': [1], 'k2': [1]}

      字典查看

    # 键、值、键值对
    dic.keys()      # 返回一个包含字典所有KEY的列表;
    dic.values()   # 返回一个包含字典所有value的列表;
    dic.items()    #返回一个包含所有(键,值)元祖的列表;
    # dic.iteritems()、dic.iterkeys()、dic.itervalues() 与它们对应的非迭代方法一样,不同的是它们返回一个迭代子,而不是一个列表;
    
    # 查看
    dic['key']       # 返回字典中key对应的值,若key不存在字典中,则报错;
    dict.get(key, default = None)      #返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)
    
    # 循环
    for k in dic.keys()
    for k,v in dic.items()
    for k in dic
    
    #长度
    len(dic)

      字典增删改

    # 新增
    dic['new_key'] = 'new_value'
    dic.setdefault(key, None)          # 如果字典中不存在Key键,由 dic[key] = default 为它赋值;_
    
    # 删除
    dic.pop(key[,default])              # 和get方法相似。如果字典中存在key,删除并返回key对应的vuale;如果key不存在,且没有给出default的值,则引发keyerror异常;
    dic.clear()                               # 删除字典中的所有项或元素;    
    
    # 修改
    dic['key'] = 'new_value'           # 如果key在字典中存在,'new_value'将会替代原来的value值
    dic.update(dic2)                      # 将字典dic2的键值对添加到字典dic
  • 相关阅读:
    我对什么是真正的对象,以及软件中的对象在分析阶段、设计阶段、实现阶段的一些看法
    通过分析蜘蛛侠论坛中的版块管理功能来介绍该如何使用我开发出来的ROM框架
    蜘蛛侠论坛核心框架分析1 如何设计与实现当前访问用户
    关于DDD领域驱动设计的理论知识收集汇总
    分享一个简易的ORM框架源代码以及基于该框架开发的一个简易论坛源代码
    微软的一个开源项目Oxite学习后的感受
    AgileEAS.NET平台开发实例药店系统UI层分析
    AgileEAS.NET平台开发实例药店系统BLL层分析
    AgileEAS.NET平台开发实例药店系统DAL层解析
    AgileEAS.NET平台开发实例药店系统系统架构设计
  • 原文地址:https://www.cnblogs.com/xiugeng/p/8445872.html
Copyright © 2011-2022 走看看