python---內建数据结构dict

# -*- coding: utf-8 -*-
'''
dict(字典)- 字典是一种组合数据,没有顺序的组合数据,数据以键值对的形式出现
'''

#创建字典
#1、创建空字典
d1 = {}
print(type(d1))
print(d1)
d2 = dict()
print(type(d2))
print(d2)
#2、创建有值的字典,键值之间用:隔开,每一对键值用逗号隔开
d3 = {"one":1, "two":2, "three":3}
print(type(d3))
print(d3)
#用dict创建有内容的字典
d4 = dict({"one":1, "two":2, "three":3})
print(type(d4))
print(d4)
#用dict,利用关键字参数创建
d5 = dict(one = 1, two = 2, three = 3)
print(type(d5))
print(d5)
#利用tuple
d5 = dict([("one", 1), ("two", 2), ("three", 3)])
print(type(d5))
print(d5)

'''
1、字典的特征
    a、字典是序列类型, 但是是无序序列,所以没有分片和索引
    b、字典中的数据每个都有kv对,key必须是可哈希的值
2、常用操作
    访问
    赋值
    删除
    成员检测
    遍历(python2和3中差异较大)
'''
d = dict({"one":1, "two":2, "three":3})
print(d["one"])

d["one"] = "eins"
print(d)

del d["one"]
print(d)

d = dict({"one":1, "two":2, "three":3})
if 2 in d:
    print("value")
if "two" in d:
    print("key")
if ("two", 2) in d:
    print("kv")
    
for k in d:
    print(k, d[k])
for k in d.keys():
    print(k, d[k])
#只访问字典的值
for v in d.values():
    print(v)
#特殊常用用法
for k, v in d.items():
    print(k, "--", v)

'''
3、字典生成式
'''
d = dict({"one":1, "two":2, "three":3})
#常规字典生成式
dd = {k:v for k, v in d.items()}
print(dd)
#带过滤条件
dd = {k:v for k, v in d.items() if v % 2== 0}
print(dd)

'''
4、字典相关函数
    str(字典):返回字典的字符串格式
    clear: 清空字典
    items: 返回键值对组成的元组格式
    keys:  返回字典的键组成的结构
    values:  返回字典的值组成的结构
    get:   根据指定的键返回值,没有要找的值时返回None,或者返回默认值
    fromkeys:使用指定的序列作为键,使用一个值作为所有键的值
'''
dd = dict({"one":1, "two":2, "three":3})
i = dd.items()
print(type(i))
print(i)
k = dd.keys()
print(k)
v = dd.values()
print(v)
#get:根据指定的键返回值,没有要找的值时返回None,或者返回默认值
print(d.get(111))
print(d.get(111, 100))
#fromkeys
l = ["1", "2", "3"]
d = dict.fromkeys(l, "test")
print(d)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值