《Python编程实训快速上手》第三天--字典和结构化数据

一、字典

1、字典数据类型介绍

myCat = {"size":"fat","color":"gray"}

 特征:

  1. 字典输入时带上{}
  2. 字典中每一个值是以键值对形式存在,先写键,再写值

2、字典与列表

列表索引必须是整数,字典索引可以是非整数(键值对)。

列表类似于数组,字典类似于map。

列表中项排序,字典中的项不排序,因此字典没有切片操作。

字典转列表时只将键放入列表中

['size', 'color']

3、判断键值是否在字典中

使用in来判断,若不在则报错KeyError

myCat = {"size":"fat","color":"gray"}
print("size" in myCat)
print("size" in myCat.keys())
print("fat" in myCat)
print("fat" in myCat.values())
print("x" in myCat)

 

4、keys(),values(),items()方法

三种方法返回类似列表的值,分别对应于字典的键、值和键-值对,可以使用list()方法转换成列表

该方法是查看型方法,返回的值只能用于读,不能用于写,可用于for循环中

myCat = {"size":"fat","color":"gray"}
for i in myCat.keys():
    print(i)
print()
for j in myCat.values():
    print(j)
print()
for k in myCat.items(): #返回的是包含键值对的元组类型
    print(k)
for k,v in myCat.items():#两种写法
    print(k,v)

5、get()方法

get(参数1,参数2)

参数1为要取得其值的键,参数2为当该键不存在时返回的备用值

myCat = {"size":"fat","color":"gray"}
print("my cat is %s"%myCat.get("size","unknown"))
print("my cat is %s"%myCat.get("sex","unknown"))

6、setdefault()方法

用来在一行内完成新键值对的添加 ---实现判断和添加的功能

setdefault(参数1,参数2)

  1. 参数1:检查的键
  2. 参数2:当该键不存在时要设置的值

 如果该键存在,则返回键的值

7、美观输出

使用pprint模块中的pprint()方法,其中输出时键自动排序 

import pprint
message = "It was a bright cold day in April, and the clocks were striking on the wall."
count = {}
for letter in message:
    count.setdefault(letter, 0)
    count[letter] += 1

print(count)
pprint.pprint(count)

8、嵌套的字典和列表

allGuests = {'Alice': {'apples': 5, 'pretzels': 12},
	             'Bob': {'ham sandwiches': 3, 'apples': 2},
	             'Carol': {'cups': 3, 'apple pies': 1}}

def totalBrought(guests, item):
    numBrought = 0
    for k, v in guests.items():
        numBrought = numBrought + v.get(item, 0)
    return numBrought

print('Number of things being brought:')
print(' - Apples         ' + str(totalBrought(allGuests, 'apples')))
print(' - Cups           ' + str(totalBrought(allGuests, 'cups')))
print(' - Cakes          ' + str(totalBrought(allGuests, 'cakes')))
print(' - Ham Sandwiches ' + str(totalBrought(allGuests, 'ham sandwiches')))
print(' - Apple Pies     ' + str(totalBrought(allGuests, 'apple pies')))

 

 

 

上一篇:【RAG系列】KG-RAG 用最简单的方式将知识图谱引入RAG


下一篇:如何在下载我上传的数据时自动设置 Content-Type