zoukankan      html  css  js  c++  java
  • 基本数据类型与内置方法(2)

    元组

    用途:存储多个不同类型的值(不能存可变类型)

    定义方式:

      用小括号存储数据,数据与数据之间通过逗号分隔,值不能变

    定义容器类型时,如果里面只有一个值,在值后+逗号

    元组中不加逗号,就是字符串

    t1=(‘a’,‘b’) t1=tuple(‘a’,'b')

    常用方法:

    1.索引取值:(正向取值,反向取值)

    2.索引切片

    3.成员运算

    4.len()

    5.count()

    6.index

    有序,不可变 ,存多个值

    字典

    用途:key一定是一个不可变类型,value可以时任意类型

    定义方式:通过大括号来存储数据,通过key-value来定义键值对数据,每个键值对中间通过逗号隔开

    字典的三种定义方式:

    1.d1={'name': 'egon'}

    2.s1=dict(name='sean',age=18)

    3.zip

    l1=['name','age']

    l2=['egon',18]

    z1=zip(l1,l2)

    print(dict(z1))

    常用方法:

    1.按照key—value映射关系取值(可存可取)

    d1 = {'name': 'egon', 'age': 73}
    d1['name'] = 'tank'
    d1['gender'] = 'male'
    print(d1)
    
    {'name': 'tank', 'age': 73, 'gender': 'male'}

    2.成员运算

    in,not in 默认判断key

    3.len()获取字典中,键值对的个数

    内置方法:

    1.get:获取指定的key的值,如果值不存在,默认返回None

    d1 = {'name': 'egon', 'age': 73}
    # d1['name'] = 'tank'
    # # d1['gender'] = 'male'
    # # print(d1)
    print(d1.get('name', '&'))
    print(d1.get('gender', '&'))


    egon
    &

    2.keys,values,items

    keys返回所有key

    values返回所有的值

    items返回所有的键值对,返回值是列表套元组,每一个键值对存在元组

    d1 = {'name': 'egon', 'age': 74}
    
    print(d1.keys())
    print(d1.values())
    print(d1.items())
    
    
    dict_keys(['name', 'age'])
    dict_values(['egon', 74])
    dict_items([('name', 'egon'), ('age', 74)])

    3.pop删除:指定key删除,有返回值,返回为对应的value

    d1 = {'name': 'egon', 'age': 74}
    
    print(d1.pop('name'))
    print(d1)
    
    
    egon
    {'age': 74}

    4.popitem:随机弹出一个键值对,有返回值,返回值是一个元组

    d1 = {'name': 'egon', 'age': 74}
    print(d1.popitem())
    
    
    ('age', 74)

    5.update():用新字典替换旧字典,有则修改,无则添加

    d1 = {'name': 'egon', 'age': 74}
    # print(d1.popitem())
    d1.update({'gender': 'female'})
    d1.update({'name': 'gdd'})
    print(d1)
    
    
    {'name': 'gdd', 'age': 74, 'gender': 'female'}

    6.fromkeys:产生一个新字典,第一个参数(列表),它会以第一个参数中各个元素为key,以第二个参数为值,组成一个新的字典

    d1 = {'name': 'egon', 'age': 74}
    print(d1.fromkeys([1, 2, 3], 'ke'))
    
    
    {1: 'ke', 2: 'ke', 3: 'ke'}

    7.setdefault: key不存在新增键值时,有返回值,key存在返回对应的value

    d1 = {'name': 'egon', 'age': 74}
    # print(d1.fromkeys([1, 2, 3], 'ke'))
    
    print(d1.setdefault('gender', 'female'))
    d1.setdefault('gender', 'female')
    print(d1)
    d1.setdefault('name', 'wangba')
    print(d1)
    
    
    female
    {'name': 'egon', 'age': 74, 'gender': 'female'}
    {'name': 'egon', 'age': 74, 'gender': 'female'}

    集合

    用途:去重,关系运算

    定义方式:通过大括号存储,每个元素通过逗号分隔

    定义空集合,必须使用set()来定义

    l1=[]

    l2=""

    l3={}

    l4=set()

    常用方法:

    1.没有索引

    合集:|  求两个用户的所有好友,重复的只留一个

    交集:&  两个用户的共同好友

    差集:-  1-2求用户1独有的好友

    对称差集:^  求两个用户独有的好友,即去除共同好友

    父集:  > >=  一个集合是否包含另一个集合

    子集:  < <=

    集合中不可能出现两个相同的元素

    无序,可变,存多个值

    可以增加,删除,但是不能修改

    ps:frozenset时不可变集合

    总结:

    存一个值:数字,字符串

    存多个值:列表,元组,字典,集合

    可变:列表,字典,set集合

    不可变:数字,字符串,元组,fonzenset集合

    有序或无序

    有序:字符串 列表  元组

    无序:集合 字典

    占用内存:

    字典

    列表

    元组

    集合

    字符

    数字


    集合:

    三大特性:

      1.值不可以重复

      2.无序

      3.存储的元素必须是不可变的

    remove:值没有时会报错

    discard:值没有事不会报错

    # 字典在被迭代的时候,不可以对其里面的值进行修改
    dict1 = {
    '1': 1,
    '2': 2,
    }
    for k, v in dict1.items():
    print(k, v)
    dict1.pop(k)

    RuntimeError: dictionary changed size during iteration


    # 列表在被迭代时,可以对其值进行修改
    list1 = [1, 2, 3]
    for k in list1:
    print(k)
    if k == 1:
    list1.pop(k)
    1
    3

  • 相关阅读:
    Xcode7.x中安装Alcatraz
    iOS开发:一个无限滚动自动播放图片的Demo(Swift语言编码)
    ios开发:一个音乐播放器的设计与实现
    iOS开发:深入理解GCD 第二篇(dispatch_group、dispatch_barrier、基于线程安全的多读单写)
    iOS开发:XCTest单元测试(附上一个单例的测试代码)
    设计模式之构造者模式
    控制流程
    变量与常量定义
    go语言内置基础类型
    解决Win10 Virtualbox5.2.18桥接不能联网小记
  • 原文地址:https://www.cnblogs.com/godlover/p/11806827.html
Copyright © 2011-2022 走看看