zoukankan      html  css  js  c++  java
  • Python02.4.数据类型-元组-字典-集合

    • 元组

    #定义:与列表类型比,只不过[]换成()

    age=(11,22,33,44,55)本质 age=tuple((11,22,33,44,55))

    #作用:存多个值,对比列表来说,元组不可变(是可以当做字典的key的),主要是用来读

    • Index()

    print(t.index('b'))

    #索引出元素第一次出现的位置,还可以指定在某一范围里查找,这里默认在整个元组里查找输出1

    • Count()

    print(t.count('b'))   #计算元素出现的次数,这里输出2

    • Len()

    print(len(t))      #输出远组的长度,这里输出4

    • For循环

    for i in t:

    print(i)

    #循环打印出元组数据

    • 切片

    print(t[1:3])       #切片 输出('b','b')

    • 字典

    #作用:存多个值,key-value存取,取值速度快

    #定义:key必须是不可变类型,value可以是任意类型

    info={'name':'egon','age':18,'sex':'male'} #本质info=dict({....})

    info=dict(name='egon',age=18,sex='male')

    info=dict([['name','egon'],('age',18)])

    {}.fromkeys(('name','age','sex'),None)

    • Get() 获取values
    • 如果存在key值,则返回, 不存在可以指定返回内容, 不指定返回内容为None

    d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

    d.get('Bob')

    #根据key获取values,如果不存在返回None,这里输出75

    • Pop() 删除一个key

    d.pop('Bob')

    #根据键删除某一元素 d={'Michael': 95, 'Tracy': 85}

    • 添加一个元素

    d['Jason']=99

    #新增元素 d={'Michael': 95, 'Tracy': 85, 'Jason': 99}

    • Len()

    print(len(d))

    #输出字典长度,这里输出3

    • In 判断是否存在

    print('Jason' in d)

    #python3 中移除了 has_key,要判断键是否存在用in

    • For循环

    for i in d:

    #循环默认keys输出

    print(i)

    =========================================

    for i in d.values():

    #循环按值输出values

        print(i)

    =========================================

    for k,v in d.items():

    #循环按输出key,values

    print(k,v)

    =========================================

    • 字典的独有功能

    '''1. 获取字典中所有的键'''

    print(userinfo.keys())

    ======================================================

    # for item in userinfo.keys():

    # print(item)

    '''2. 获取字典中所有的值'''

    userinfo.values()

    ======================================================

    # for i in userinfo.values():

    # print(i)

    ======================================================

    '''3. 获取字典中所有的键值对'''

    userinfo.items()

    # print(userinfo)

    ======================================================

    # for v1,v2 in userinfo.items():

    # print(v1,v2)

    • Update

    userinfo.update({'zhan','san'})

    # 存在则更新, 不存在则添加

    • 公共

    len('username') # len

    u = userinfo['pass'] # 索引

    userinfo['pass'] = 124 # 修改

    del userinfo['pass'] # 删除键值对

    userinfo['pass'] = 156 # 字典里,如果存在则修改,不存在则添加

    • 例题

    '''

    mess = 'k1|v1,k2|v2,k3|v3'

    转换成字典info

    info = {k1:v1,k2:v2,k3:v3}

    '''

    # info = {}

    # # mess = 'k1|v1,k2|v2,k3|v3'

    # # for item in mess.split(','):

    # # v1,v2 = item.split('|')

    # # info[v1]=v2

    # # print(info)

    ======================================================

    # dict

    # 默认按照键判断, 判断x是否是字典的键

    v1 = {'k1':1,'k2':2,'k3':3}

    if 'x' in v1: # keys

    pass

    ======================================================

    # 判断k1是否在其中

    if 'k1' in v1:

    pass

    ======================================================

    # 判断v2是否在其中

    # 1.

    fla = '不存在'

    for cc in v1.values(): # values

    if cc == 'v2':

    fla = '存在'

    print(fla)

    ======================================================

    # 2.

    if 'v2' in list(v1.values()):

    pass

    ======================================================

    # 3.

    if 'v2' in v1.values():

    print('1')

    else:

    print('2')

    ======================================================

    # 判断k2:v2 是否在其中

    vl = v1.get('k2')

    if v1 == 'v2':

    pass

    else:

    pass

    • 集合

    #作用:去重,关系运算,

    #定义:

    知识点回顾

    可变类型是不可hash类型

    不可变类型是可hash类型

    #定义集合:

    集合:可以包含多个元素,用逗号分割,

    集合的元素遵循三个原则:

    1:每个元素必须是不可变类型(可hash,可作为字典的key)

    2: 没有重复的元素

    3:无序

    注意集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

    • Add() 添加元素

    a = {'nick','jenny','suo'}

    a.add('The knife girl')

    print(a)

    • Update更新列表

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    a.update(b)

    print(a)

    • Clear #清空

    #清空

    a = {'nick','jenny','suo'}

    a.clear()

    print(a)

    • Discard 删除指定的元素

    #移除指定元素,不存在不报错

    a = {'nick','jenny','suo'}

    a.discard('suo')

    print(a)

    • remove

    #移除指定元素,不存在则报错

    a = {'nick','jenny','suo'}

    a.remove('suo')

    print(a)

    a.remove('suo')

    print(a)

    • pop

    #移除随机元素,并赋给新值

    a = {'nick','jenny','suo'}

    set = a.pop()

    print(set)

     

    • #a中存在。b中不存在,赋给新值

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    set = a.difference(b)

    print(set)

    =========================================

    • a中存在。b中不存在,并更新a

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    a.difference_update(b)

    print(a)

    =========================================

    • 交集,赋给新值

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    set = a.intersection(b)

    print(set)

    =========================================

    • #交集,更新a

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    a.intersection_update(b)

    print(a)

    =========================================

    • #对称交集

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    set = a.symmetric_difference(b)

    print(set)

    =========================================

    • #对称交集,更新a

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    a.symmetric_difference_update(b)

    print(a)

    =========================================

    • #并集,赋给新值

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    set = a.union(b)

    print(set)

    =========================================

    • #如果没有交集,返回True,否则返回False

    a = {'nick','jenny','suo'}

    b = {'nick','jenny','The knife girl'}

    set = a.isdisjoint(b)

    print(set)

    =========================================

    • #是否是子序列

    a = {'nick','jenny','suo'}

    b = {'nick','jenny'}

    set = a.issubset(b)

    print(set)

    =========================================

    • #是否是父序列

    a = {'nick','jenny','suo'}

    b = {'nick','jenny'}

    set = a.issuperset(b)

    print(set)

    =========================================

  • 相关阅读:
    拓端tecdat|R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)
    拓端tecdat|R语言资产配置策略量化模型:改进的移动平均线策略动态回测
    拓端tecdat|R语言量化:合成波动率指数移动平均策略分析标准普尔500波动率指数(VIX)
    拓端tecdat|Python中的多项式回归拟合非线性关系实例
    从集团管控到集团赋能
    性能之巅-优化你的程序
    3个小时,从学到做,我用低代码平台搭了一套管理系统
    Hadoop架构原理
    硬核操作系统讲解
    一文弄懂什么是DevOps
  • 原文地址:https://www.cnblogs.com/cable-run/p/12161405.html
Copyright © 2011-2022 走看看