Python-字典

'''
字典是一种容器数据类型,用于存储键值对(key-value)的数据集合
    一、特点
        1)通过一个key对应一个确定唯一的值
        2)可变性:可以通过索引修改、删除或插入元素,可以改变列表的长度、内容和顺序
        3)异构性:可以包含不同类型的元素,如string、int、float、list等
        4)无序性

'''

def dic_info():

    '''
    1、字面量定义
        1)用{}定义,key-value形式表示字典
        2)key-value中的key必须是一个可哈希对象,可以使用hash()函数来判断是否可哈希
        3)理论上来说,python中的不可变对象数据都可以作为key使用,但是为了方便,大多数情况使用字符串作为key
    '''
    print(hash('ab'))#可哈希对象
    print(hash('ab'))
    print(hash('ab'))

    # print(hash([1,2,3]))
    print(hash('abc'))
    # print(hash((1,2,3,[1])))
    t1 = (1, 2, 3, [1])
    t1[3].append(3)
    print(t1)
    l1 = [1, 2, 3]
    l1.append('python')
    print(l1)

    d1 = {}
    print(d1)
    print(type(d1))
    d2 = {'name': 'Tom', 'age': 25, 'gender': True, 'hobby': {'first': ('eat', 'drink'), 'second': 'play'}}
    print(d2)
    print(type(d2))

    '''
        2、构造方法定义
    '''
    d1 = dict(name='Jack', age=25, gender='male')
    print(d1)
    d2 = dict([('name', 'Tom'), ['age', 25]])
    print(d2)
    d3 = dict({'one': 1, 'three': 3}, two=2)
    print(d3)
    keys = ['name', 'age', 'gender', 'address']
    values = ['Alice', 8, 'male', 54645]
    d4 = dict(zip(keys, values))
    print(d4)

    '''
        3、字典数据的访问
            1)字典没有类似列表、元组那样的数字下标索引
            2)字典通过使用key来获取对应的值
            3)格式: 字典对象[key]
    '''
    d1 = {'name': 'Tom', 'age': 25, 'gender': True, 'hobby': {'first': ('eat', 'drink'), 'second': 'play'}}
    print(d1['name'])

    '''
        4、字典元素的添加与修改
            1)字典中一个key对应一个value,
            2)当给一个key赋值时,如果key存在,则对当前key对应的值做修改更新
            3)如果key不存在,则是添加数据
            4)格式: 字典对象[key] = value
    '''
    d1 = {}
    d1['hobby'] = 'travle'
    d1['name'] = 'NewJack'  # 添加
    print(d1)
    d1['name'] = 'Jack'  # 修改
    print(d1)
    del d1['name']  # 删除元素
    print(d1)
    # del d1#删除字典
    # print(d1)

    '''
        5、字典的有序性(Python3.7+)
            1)保持添加时的顺序
            2)如果编程依赖字典键值对的顺序,建议使用Python3.7+版本
    '''

    '''
        6、应用场景
            1)字典适用于储存有相关性的数据,如用户信息,学生成绩等,每个兼职队标是一个独立数据项,通过键来关联对应的值
            2)字典可以通过键来快速定位对应的值,而不需要遍历整个字典
            3)字典作为数据容器,可以方便地进行遍历、搜索、插入和删除操作,可以通过循环遍历字典的键或值,通过键进行搜索和更新,通过键值对的添加和删除来
               动态修改字典的内容等等
    '''

def myhash():
    print(hash('ab'))



if __name__ == '__main__':
    dic_info()
    myhash()
    print(hash('ab'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值