python入门篇07-数据容器(序列 集合 字典,json初识)基础(下)

全文目录,一步到位

  • 1.前言简介
    • 1.1 专栏传送门
      • 1.1.1 上文传送门
  • 2. python基础使用
    • 2.1 序列
      • 2.1.1 序列定义
      • 2.1.2 序列参数解释
      • 2.1.3 列表list切片
      • 2.1.4 元组tuple切片
      • 2.1.5 字符串str切片
    • 2.2 集合定义
      • 2.2.1 set集合-基本语法
      • 2.2.2 set集合-添加元素`.add()`
      • 2.2.3 set集合- 移除元素`remove()`
      • 2.2.4 set集合- 随机取出一个元素`pop()`
      • 2.2.5 set集合- 清空集合`clear()`
      • 2.2.6 set集合- 取出两个集合的差集 `difference() `
      • 2.2.7 set集合- 消除差集`difference_update()`
      • 2.2.8 set集合- 集合并集 `union()`
      • 2.2.9 set集合- 统计set集合元素数量 `len()`
      • 2.2.10 set集合- 循环遍历元素`for`
    • 2.3 字典定义
      • 2.3.1 定义字典
      • 2.3.2 key重复的效果
      • 2.3.3 获取value结果
      • 2.3.4 嵌套(字典类型)
      • 2.3.5 字典数据操作准备工作
      • 2.3.6 新增元素
      • 2.3.7 修改元素
      • 2.3.8 删除元素 (取出并删除)`pop()`
      • 2.3.9 清空元素 `clear()`
      • 2.3.10 获取全部的key` keys()`
      • 2.3.11 统计字典元素个数
    • 2.4 json定义
      • 2.4.1 json详细介绍
  • 3. 基础语法总结案例
    • 3.1 根据str1字符串 取出 `三好学生` 字符串
      • 3.1.1 方法一: 先倒序 在操作
      • 3.1.2 方法二: 先操作 在倒序
      • 3.1.3方法(3-n)种 直接切片截取 然后倒序
    • 3.2
      • 3.2.1
      • 3.2.2
  • 4. 文章的总结与预告
    • 4.1 本文总结
    • 4.2 下文预告


1.前言简介

1.1 专栏传送门

文章待续未完 , 差一个字典 这几天补充

1.1.1 上文传送门

python入门篇06-数据容器(列表 元组 字符串)基础(上)

2. python基础使用

2.1 序列

2.1.1 序列定义

内容连续 有序 可使用下标索引的一类 数据容器, 如下均可以成为序列:

  • 列表
  • 元组
  • 字符串

关键词解释:
切片解释: [1,2,3,4,5] 取出 [2,3,4] 跟subSting()意思>> 差不多
步长解释 表示依次取的元素 (间隔-1)

2.1.2 序列参数解释

正常操作 [arg1,arg2,arg3]

  • arg1 开始下标(包含) : 表头部
  • arg2 终止下标(不包含) : 表尾部
  • arg3 (步长 1 依次取 2 隔一个取) 负数就是倒序

2.1.3 列表list切片

list1 = [0, 1, 2, 3, 4, 5, 6]
print(list1[1:4])  # [1, 2, 3]  print(list1[1:4:1])等效 1可不写
print(list1[-1:-4:-1])  # [6, 5, 4]
print(list1[7:3:-1])  # [6, 5, 4]

2.1.4 元组tuple切片

tuple1 = (0, 1, 2, 3, 4, 5, 6)
print(tuple1[:])  # (0, 1, 2, 3, 4, 5, 6)  :表示全部取出
print(tuple1[::-2])  # (6, 4, 2, 0)

2.1.5 字符串str切片

str1 = "张三同学, 被评选为三好学生, 大家鼓掌"
print(str1[::2])  # :从头开始 :一直到结尾 跳2-1个元素取出
print(str1[::-1])  # 掌鼓家大 ,生学好三为选评被 ,学同三张 (反转了)

2.2 集合定义

理解: 无序不重复的序列 用: {}表示
与java中的set集合理解相同

2.2.1 set集合-基本语法

set1 = {1, 4, 2, 5, 4, 5, 4, 6, 2, 7}  # 集合
set2 = set()  # 定义空集合
print(set1)  # {1, 2, 4, 5, 6, 7}
print(type(set1))  # 

2.2.2 set集合-添加元素.add()

添加新元素 并且不存在的

set1.add(5)
set1.add(20)
print(set1)  # {1, 2, 4, 5, 6, 7, 20}

2.2.3 set集合- 移除元素remove()

set1.remove(1)
print(set1)

2.2.4 set集合- 随机取出一个元素pop()

pop = set1.pop()
print(f"取出的元素{pop},剩余集合是: {set1}")

2.2.5 set集合- 清空集合clear()

set1.clear()
print(set1)  # set()

2.2.6 set集合- 取出两个集合的差集 difference()

生成新集合

set01 = {1, 2, 3}
set02 = {1, 5, 6}
set03 = set01.difference(set02)  # 找到set01 不在set02集合内的元素
print(set01)
print(set02)
print(set03)  # {2, 3}

2.2.7 set集合- 消除差集difference_update()

(直接修改set01) 不生成新集合

set01 = {1, 2, 3}
set02 = {1, 5, 6}
set01.difference_update(set02)  # 消除差集 set01将与set02重复的元素删除 (直接修改set01)
print(set01)   # {2, 3}
print(set02)   # {1, 5, 6}

2.2.8 set集合- 集合并集 union()

生成并集后的新集合

set01 = {1, 2, 3}
set02 = {1, 5, 6}
set03 = set01.union(set02)
print(set01)  # 不变
print(set02)  # 不变
print(set03)  # {1, 2, 3, 5, 6}

2.2.9 set集合- 统计set集合元素数量 len()

print(len(set01))
print("")

2.2.10 set集合- 循环遍历元素for

for i in set01:
    print(i)

2.3 字典定义

字典 数据容器 (理解: java的 map k-v)

2.3.1 定义字典

dict1 = {"name": "张三", "age": 18}
dict2 = {}
dict3 = {}

print(type(dict2))
print(dict1)
print(dict2)
print(dict3)

2.3.2 key重复的效果

字典中的key是不可以重复的. 如果重复是会直接覆盖掉上一key, 示例如下(pycharm会直接警告)

dict1 = {"name": "张三", "name": 18}
print(dict1)  # {'name': 18} 直接覆盖上一个重复的 不会报错

2.3.3 获取value结果

使用方式: 变量名[key名]

dict1 = {"name": "张三", "age": 18}
print(dict1["name"])  # 张三

2.3.4 嵌套(字典类型)

长得跟json串相同

message = {
    "张三": {"age": 20, "nickName": "张三丰", "address": "中国"},
    "李四": {"age": 50, "nickName": "李四丰", "address": "地球"},
    "王五": {"age": 80, "nickName": "王五丰", "address": "月球"}
}
print(type(message))  # 
print(message["张三"]["age"])  # 20
print(message["李四"]["nickName"])  # 李四丰
print(message["王五"]["address"])  # 月球

2.3.5 字典数据操作准备工作

新增 只要传递的key不存在 则为新增 传递的key存在,则为修改

dict1 = {"name": "张三", "age": 18}
print(dict1)

2.3.6 新增元素

传递不存在key = 新增

dict1["address"] = "地球"
print(dict1)  # {'name': '张三', 'age': 18, 'address': '地球'}

2.3.7 修改元素

传递存在的key = 修改

dict1["age"] = 36
print(dict1)  # {'name': '张三', 'age': 36, 'address': '地球'}

2.3.8 删除元素 (取出并删除)pop()

字典中删除元素 返回值是此元素

address = dict1.pop("address")
print(address)  # 地球
print(dict1)  # {'name': '张三', 'age': 36}

2.3.9 清空元素 clear()

结果是一个空字典{}

dict1.clear()
print(dict1)  # {}

2.3.10 获取全部的key keys()

返回一个列表

dict1 = {"name": "张三", "age": 18}
print(dict1.keys())  # dict_keys(['name', 'age'])

循环遍历元素

# ---> 遍历key(方法一)
for key in dict1.keys():
    print(f"{key},{dict1[key]} ", end="")  # name,张三 age,18
print("")

# ---> 直接for循环(方法二: )
for key in dict1:
    print(f"{key},{dict1[key]} ", end="")  # name,张三 age,18
print("")

2.3.11 统计字典元素个数

print(len(dict1))  # 2

2.4 json定义

java中前后端联调交互必备, 一种有规则的字符串

2.4.1 json详细介绍

python入门篇07-数据容器(序列 集合 字典,json初识)基础(下)_第1张图片

3. 基础语法总结案例

3.1 根据str1字符串 取出 三好学生 字符串

str1 = "掌鼓家大,生学好三为选评被,学同三张"

3.1.1 方法一: 先倒序 在操作

3.1.2 方法二: 先操作 在倒序

3.1.3方法(3-n)种 直接切片截取 然后倒序

print(str1[-10:-14:-1])  # 全是倒着截取 然后再倒序

print(str1[8:4:-1])      # 反截取位置 然后倒序

print(str1[::-1][9:13])  # 先倒序 在截取

print(str1[5:9][::-1])  # 先截取在倒序

3.2

3.2.1

3.2.2

4. 文章的总结与预告

4.1 本文总结

4.2 下文预告



作者pingzhuyan 感谢观看

你可能感兴趣的:(python,python,json,pycharm,java)