第二周学习总结

本文介绍了Python中字典数据结构的使用,包括创建、操作及作为数据检索的优势。同时,讲解了如何处理JSON格式的数据,如利用json模块将JSON字符串转化为Python字典,并通过requests库获取和解析JSON数据。示例中展示了从API获取新闻和梦境解析数据的过程。
摘要由CSDN通过智能技术生成

第二周学习总结

常用数据结构之字典

Python程序中的字典跟现实生活中的字典很像,它以键值对(键和值的组合)的方式把数据组织到一起,我们可以通过键找到与之对应的值并进行操作。就像《新华字典》中,每个字(键)都有与它对应的解释(值)一样,每个字和它的解释合在一起就是字典中的一个条目,而字典中通常包含了很多个这样的条目。

dict1 = {
    '麓': '山脚下', '路': '道,往来通行的地方;方面,地区:南~货,外~货;种类:他俩是一~人',
    '蕗': '甘草的别名', '潞': '潞水,水名,即今山西省的浊漳河;潞江,水名,即云南省的怒江'
}
print(dict1)

过上面的代码,相信大家已经看出来了,用字典来保存一个人的信息远远优于使用列表或元组,因为我们可以用:前面的键来表示条目的含义,而:后面就是这个条目所对应的值。

字典的运用

import string

results = {letter: 0 for letter in string.ascii_lowercase}
# print(results)
content = input('请输入: ').lower()
for ch in content:
    if ch in results:
        results[ch] += 1
# print(results)
for key, value in results.items():
    print(f'{key}: {value:>2d}次')

上面是输入一段英文,统计每个英文字母出现的次数

总结

Python程序中的字典跟现实生活中字典非常像,允许我们以键值对的形式保存数据,再通过键索引对应的值。这是一种非常有利于数据检索的数据类型,底层原理我们在后续的课程中再研究。再次提醒大家注意,字典中的键必须是不可变类型,字典中的值可以是任意类型。

json格式的字符串

json的含义

  1. 两个异构的系统之间交换数据最好的选择是交换纯文本(可以屏蔽系统和编程语言的差异)
  2. 纯文本应该是结构化或半结构化的纯文本(有一定的格式)
    XML —> eXtensible Markup Language —> 可扩展标记语言
    JSON —> JavaScript Object Notation —> 大多数网站和数据接口服务使用的数据格式
    YAML —> Yet Another Markup Language
  3. 如何将JSON格式的字符串转成Python程序中的字典?
    —> json 模块 —> loads 函数

联网获取JSON格式的数据并解析出需要的内容

修改三方库的下载来源为国内的镜像网站 —> pip config set global.index-url https://pypi.doubanio.com/simple
三方库 —> requests —> pip install requests
协议 —> 通信双方需要遵守的会话的规则。
HTTP / HTTPS —> 通过URL访问网络资源的协议 —> Hyper-Text Transfer Protocol(超文本传输协议)
请求(request) - 响应(response)

import json
import requests

# 通过get函数发起一个请求得到一个响应
resp = requests.get(
    url='http://api.tianapi.com/guonei/index',
    params={'key': 'e8c5524dd2a365f20908ced735f8e480', 'num': 30}
)
# news_dict = json.loads(resp.text)
# 从响应中获取JSON数据直接转成字典
news_dict = resp.json()
news_list = news_dict['newslist']
for news in news_list:
    print(news['title'])
    print(news['url'])

周公解梦

import requests

word = input('请输入你梦到了什么: ')
resp = requests.get(
    url='http://api.tianapi.com/txapi/dream/index',
    params={
        'key': 'e8c5524dd2a365f20908ced735f8e480',
        'word': word,
        'num': 10
    }
)
news_list = resp.json()['newslist']
for news_dict in news_list:
    print(news_dict['result'])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值