栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

深度之眼(五)——Python组合数据类型

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

深度之眼(五)——Python组合数据类型

文章目录
  • 零、导读
    • 4.1 列表
      • 4.1.1 列表的表达
      • 4.1.2 列表的性质
      • 4.1.3 列表的操作符
      • 4.1.4 列表的操作方式(详细)
    • 4.2 元组
      • 4.2.1 元组的表达
      • 4.2.2 元组的操作
      • 4.2.3 元组的常见用处
    • 4.3 字典
      • 4.3.1 字典的表达
      • 4.3.2 字典的性质
      • 4.3.3 字典的操作方法
    • 4.4 集合
      • 4.4.1 集合的表达
      • 4.4.2集合的运算
      • 4.4.3 集合的操作方法
    • 小结

接深度之眼(一)和(二)

零、导读

4.1 列表 4.1.1 列表的表达
  • 序列类型:内部元素有位置关系,能通过位置序号访问其中元素
  • 列表是一个可以使用多种类型元素,支持元素增、删、改、查操作的序列类型

  • 另一种产生方式: list(可迭代对象)
  • 可迭代对象包括:字符串、元组、集合. range()等
  1. 字符串转列表
list("人工智能是未来的趋势")


2. 元组转列表

list(("我","们","很","像"))


3. 集合转列表

list({"李雷","韩梅梅","hello","world"})


4. 特殊的range()

for i in [0,1,2,3,4,5]:
    print(i)
for i in range(6):
    print(i)

range(起始数字、中止数字、数字间隔)

for i in range(1,11,2):
	print(i)

中止的数字是取不到的

  • range()转列表
4.1.2 列表的性质
  • 列表的长度——len(列表)
len([1,2,3,4])

  • 列表的索引——与同为序列类型的字符串完全相同

变量名[位置编号]
正向索引从0开始
反向索引从-1开始

cars = ["BYD","BMW","AUDI","TOYOTA"]
print(cars[0])
print(cars[-1])

  • 列表的切片
    变量名[开始位置:结束位置:切片间隔]
  • 正向切片
cars = ["BYD","BMW","AUDI","TOYOTA"]
print(cars[:3])
print(cars[1:4:2])
print(cars[:])
print(cars[-4:-2])

  • 反向切片
cars = ["BYD","BMW","AUDI","TOYOTA"]
print(cars[:-4:-1])
print(cars[::-1])

4.1.3 列表的操作符

4.1.4 列表的操作方式(详细)

1.、增加元素

  • 在末尾增加元素——列表 append(待增元素)
  • 在任意位置插入元素——列表insert(位置编号,待增元素)
  • 在位置编号相应元素前插入待增元素
  • 在末尾整体并入另一个列表——列表1.extend(列表2)

    2、删除元素

cars = ["BYD","BMW","AUDI","TOYOTA"]
cars.append("CCTV")
cars.insert(1, "BBC")
cars.pop(2)
cars

删除列表里某个所有元素


3、查找元素

  • 列表中第一次出现待查元素的位置——列表.index(待查元素)
  • 不存在会报错
cars = ["BYD","BMW","AUDI","TOYOTA"]
cars.append("CCTV")
cars.insert(1, "BBC")
cars.pop(2)
ind = cars.index("CCTV")
print(ind)
cars


4、修改元素

  • 通过“先索引后赋值”的方式,对元素进行修改——列表名[位置] = 新值

    5、列表的赋值

  • 错误的方式

情况:删除旧列表某个元素后,新列表也会随之更新

  • 正确方式——浅拷贝
  1. 方法1:列表.copy()
  2. 方法2:列表[:]

    6、列表的排序
  • 使用列表.sort()对裂变进行永久排序
  • 直接在列表上进行操作,无返回值
  • 使用sorted(列表)对列表进行临时排序
  • 原列表保持不变,返回排序后的列表


7、列表的反转

  • 使用列表. reverse()对列表进行永久翻转
  • 直接在列表上进行操作,无返回值

    8、使用for循环对列表进制遍历
4.2 元组 4.2.1 元组的表达
  • 元组是一个可以使用多种类型元素,一旦定义,内部元素不支持增、删和修改操作的序列类型
    通俗的讲,可以将元组视作“不可变的列表”
names = ("Peter","Pual","Mary")
4.2.2 元组的操作
  • 不支持元素增加、删除、修改
  • 其他操作与列表完全一致
4.2.3 元组的常见用处

打包与解包

  • 例1
  • 例2
4.3 字典 4.3.1 字典的表达
  • 映射类型:通过键”-*值”的映射实现数据存储和查找

  • 常规的字典是无序的

    字典键的要求

  • 1、字典的键不能重复

  • 2、字典的键必须是不可变类型,如果键可变,就找不到对应存储的值了

  • 不可变类型:数字、字符串、元组。一旦确定, 它自己就是它自己,变了就不是它了。

  • 可变类型:列表、字典、集合。-一旦确定,还可以随意增删改。

4.3.2 字典的性质

4.3.3 字典的操作方法

1、增加键值对

  • 变量名[新键] = 新值

    2、删除键值对
  • 通过del变量名[待删除健]
  • 通过变量名.pop(待删除健)
  • 变量名.popitem() 随机删除一个键值对,并以元组返回删除键值对

    3、修改值
  • 通过先索引后赋值的方式对相应的值进行修改

4、d.get( )方法(多看看,有点晕)
d.get(key,default)从字典d中获取键key对应的值, 如果没有这个键,则返回default

  • 小例子:统计“牛奶奶找刘奶奶买牛奶”中字符的出现频率

    5、d.keys( ) d.values( )方法

    6、d.items( )方法及宇典的遍历
4.4 集合 4.4.1 集合的表达
  • 一系列互不相等元素的无序集合
  • 元素必须是不可变类型:数字,字符串或元组,可视作字典的键
  • 可以看做是没有值,或者值为None的字典
4.4.2集合的运算
  • 小例子通过集合进行交集并集的运算
    • 语文和数学两门均为A的学员
    • S & T返回一个新集合,包括同时在集合S和T中的元素
    • 语文或数学至少- -门为A的学员
    • S|T返回一个新集合,包括集合S和T中的所有元素

4.4.3 集合的操作方法
  • 增加元素一S.add(x)
  • 移除元素一S.remoxe(x)
  • 集合的长度一len(S)
  • 集合的遍历——借助for循环
小结

列表

元组

字典

集合

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1005411.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号