PYTHON 120道题目详解(76-78)

76.Python中的json模块可以用于哪些场景?如何使用?

Python中的json模块是一种用于处理JSON(JavaScript Object Notation)数据的内置库。JSON是一种轻量级的数据交换格式,易于人类阅读和编写,也易于机器解析和生成。因此,json模块在Python中有很多应用场景。

一些主要的应用场景包括:

  1. 数据交互:在进行前后端数据交互时,如网站前台与后台之间的数据交互,常常使用JSON格式。Python的json模块可以轻松地将Python对象转换为JSON格式,或者将JSON格式的数据转换为Python对象。
  2. 配置文件:JSON格式的数据也可以用作配置文件。Python的json模块可以读取和解析JSON格式的配置文件,也可以将Python对象转换为JSON格式并写入配置文件。
  3. 数据存储:虽然Python有很多专门用于数据存储的库(如pickle,sqlite等),但在某些情况下,使用JSON格式存储数据可能更为方便。例如,如果你需要存储一些简单的结构化数据,并且希望这些数据易于人类阅读,那么JSON可能是一个好选择。

以下是Python json模块的基本使用方法:

  1. 将Python对象转换为JSON格式(编码):

|---|---------------------------------------------------------------------------|
| | import json |
| | |
| | data = { |
| | 'name': 'John', |
| | 'age': 30, |
| | 'city': 'New York' |
| | } |
| | |
| | json_data = json.dumps(data) # 将Python对象转换为JSON格式的字符串 |
| | print(json_data) # 输出:'{"name": "John", "age": 30, "city": "New York"}' |

  1. 将JSON格式的数据转换为Python对象(解码):

|---|--------------------------------------------------------------------|
| | import json |
| | |
| | json_data = '{"name": "John", "age": 30, "city": "New York"}' |
| | |
| | data = json.loads(json_data) # 将JSON格式的字符串转换为Python对象 |
| | print(data) # 输出:{'name': 'John', 'age': 30, 'city': 'New York'} |

注意:json.dumps()json.loads()是用于处理JSON格式的字符串的。如果你有一个包含JSON数据的文件,你应该使用json.dump()json.load()来写入和读取这个文件。这两个方法需要一个文件对象作为参数。

例如,写入JSON文件:

|---|--------------------------------------------|
| | import json |
| | |
| | data = { |
| | 'name': 'John', |
| | 'age': 30, |
| | 'city': 'New York' |
| | } |
| | |
| | with open('data.json', 'w') as f: |
| | json.dump(data, f) # 将Python对象写入到JSON文件中 |

读取JSON文件:

|---|--------------------------------------------------------------------|
| | import json |
| | |
| | with open('data.json', 'r') as f: |
| | data = json.load(f) # 从JSON文件中读取并解析Python对象 |
| | print(data) # 输出:{'name': 'John', 'age': 30, 'city': 'New York'} |

77.Python中的集合类型有哪些操作和特性?

Python中的集合(set)是一种无序且不重复的数据类型,主要用于进行成员关系测试和消除重复元素。集合的主要特性和操作如下:

特性:

  1. 无序性:集合中的元素没有固定的顺序,即不能通过索引访问集合中的元素。
  2. 唯一性:集合中的元素必须是唯一的,即集合中不会出现重复的元素。
  3. 可变性:集合是一个可变的数据类型,可以添加、删除和更新集合中的元素。
  4. 可哈希性:集合是可哈希的,因此可以作为字典的键。

操作:

  1. 创建集合:可以使用花括号 {}set() 函数来创建集合。例如,s = {1, 2, 3}s = set([1, 2, 3])
  2. 添加元素:使用 add() 方法向集合中添加一个元素,或使用 update() 方法添加多个元素。例如,s.add(4)s.update([4, 5, 6])
  3. 删除元素:使用 remove() 方法删除集合中的一个元素,或使用 discard() 方法删除一个可能不存在的元素。还可以使用 pop() 方法随机删除并返回一个元素,或使用 clear() 方法清空整个集合。例如,s.remove(4)s.discard(5)s.pop()s.clear()
  4. 交集、并集和差集:使用 &|- 运算符分别计算两个集合的交集、并集和差集。还可以使用 intersection()union()difference() 方法来执行相同的操作。例如,a & ba | ba - ba.intersection(b)a.union(b)a.difference(b)
  5. 对称差集:使用 ^ 运算符或 symmetric_difference() 方法计算两个集合的对称差集,即属于其中一个集合但不属于另一个集合的元素组成的集合。例如,a ^ ba.symmetric_difference(b)
  6. 判断子集和超集:使用 issubset()issuperset() 方法分别判断一个集合是否是另一个集合的子集或超集。例如,a.issubset(b)a.issuperset(b)
  7. 判断集合关系:使用 <<=>>= 运算符判断两个集合之间的包含关系。例如,a < b 表示集合a是集合b的真子集。

总之,Python中的集合类型提供了丰富的操作来管理集合中的元素和计算集合之间的关系,使得在处理集合数据时更加灵活和高效。

78.Python中如何使用字符串的replace()方法替换字符串中的字符或子串?

在Python中,你可以使用字符串的 replace() 方法来替换字符串中的字符或子串。这个方法需要两个参数:第一个参数是你想要替换的子串,第二个参数是你想要用来替换的新子串。这个方法会返回一个新的字符串,其中所有匹配的子串都被替换掉了。

下面是一个简单的例子:

|---|-----------------------------------------|
| | s = "Hello, World!" |
| | new_s = s.replace("World", "Python") |
| | print(new_s) # 输出: "Hello, Python!" |

在这个例子中,replace() 方法查找字符串 s 中的 "World" 子串,并用 "Python" 替换它。然后,它返回新的字符串。

注意,replace() 方法不会改变原始的字符串。字符串在Python中是不可变的,所以任何对字符串的修改都会生成一个新的字符串。

你还可以指定一个可选的第三个参数,它是替换操作的最大次数。例如,如果你只想替换第一个匹配的子串,你可以这样做:

|---|-----------------------------------------------------------------------|
| | s = "Hello, World! Welcome to the World of Python." |
| | new_s = s.replace("World", "Python", 1) |
| | print(new_s) # 输出: "Hello, Python! Welcome to the World of Python." |

在这个例子中,尽管字符串中有两个 "World" 子串,但 replace() 方法只替换了第一个,因为我们指定了最大替换次数为1。

相关推荐
comli_cn16 分钟前
使用清华源安装python包
开发语言·python
赵谨言27 分钟前
基于python 微信小程序的医院就诊小程序
经验分享·python·毕业设计
1.01^100041 分钟前
[1111].集成开发工具Pycharm安装与使用
python·pycharm
HEX9CF42 分钟前
【Django】测试带有 CSRF 验证的 POST 表单 API 报错:Forbidden (CSRF cookie not set.)
python·django·csrf
凡人的AI工具箱1 小时前
每天40分玩转Django:实操多语言博客
人工智能·后端·python·django·sqlite
Py办公羊大侠2 小时前
Excel批量设置行高,Excel表格设置自动换行后打印显示不全,Excel表格设置最合适的行高后打印显示不全,完美解决方案!!!
python·excel·打印·openpyxl·自动换行·显示不全
PieroPc2 小时前
Python tkinter写的《电脑装配单》和 Html版 可打印 可导出 excel 文件
python·html·电脑
Cachel wood2 小时前
Django REST framework (DRF)中的api_view和APIView权限控制
javascript·vue.js·后端·python·ui·django·前端框架
暮色尽染2 小时前
Python 正则表达式
开发语言·python
幽络源小助理2 小时前
Python使用requests_html库爬取掌阅书籍(附完整源码及使用说明)
python·html·python爬虫·爬虫教程·requests_html·爬取书籍·掌阅