总结篇:高阶数据类型与推导式,解锁数据处理的无限可能

以下代码覆盖四大高阶数据类型的讲解,包括定义方式,使用场景,遍历方式,及其自带的内置方法。都附上实例帮助你理解,相信你看完一定让你受益匪浅。

四种数据类型讲解

import random

print("=============列表============")
# 列表
# 它是一种可迭代类型,用于存储多种数据 可以像字符串一样通过下标获取数据
# 定义
# 方式一 直接使用[]再内部写入元素定义
l1 = [1, 3, 5, 7, 3, 2, 0, 9, 0]
print(l1, type(l1))
# [1, 3, 5, 7, 3, 2, 9, 0] <class 'list'>
# 方式二 使用可迭代类型 把他们每个元素放入列表,如字符串 元组 字典 集合 列表
s1 = "hello world"
l2 = list(s1)
print(l2, type(l2))
# ['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd'] <class 'list'>

# 他有两种遍历方式
# 方式一 直接通过遍历列表获取其所有元素
for i in l1:
    print(i)  # 打印其中每个元素
# 方式二 通过访问下标获取其中所有元素 len()获取其长度
for i in range(len(l1)):
    print(i)  # 输出从零开始到它长度减一的每一个数字
    print(l1[i])  # 获取其中每个元素

print("----------内置方法----------")
# 三个增加 append() insert() extend() 插入的返回值都为空,改变的是列表
# 把三加入列表末尾
l1.append(3)
# insert() 在指定位置插入值
l1.insert(4, '你好')
print(l1)  # [1, 3, 5, 7, '你好', 3, 2, 9, 0, 3]
# extend() 把可迭代按顺序插入列表后面
l1.extend(s1)
print(l1)
# [1, 3, 5, 7, '你好', 3, 2, 9, 0, 3, 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']

# 删除 pop() remove() clear()
# pop() 通过索引删除指定元素 省略索引会删除最后一个元素 返回被删除的元素
print(l1.pop(1))  # 3
# remove()  删除列表指定的值 找不到会报错
l1.remove('你好')  # 返回值为空
print(l1)
# [1, 5, 7, 3, 2, 9, 0, 3, 'h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd']
# 清空列表
# l1.clear()

# index() 查找元素索引,找不到会报错
print(l1.index(0))  # 5 返回从左到右匹配到的第一个值的索引

# count() 统计元素在列表出现的次数
print(l1.count('l'))  # 3 l在列表中出现了三次

# sort() 对列表中所有元素进行排序
l1 = [1, 3, 5, 7, 3, 2, 0, 9, 0]
print(l1.sort())  # 返回值为空
print(l1)
# [0, 0, 1, 2, 3, 3, 5, 7, 9]

# in 成员运算符
# 判断元素是否在列表中 返回True False
print(0 in l1)  # True
print('你好' in l1)  # False

# 列表推导式
# 方便我们在列表中添加数据
# 循环10次 每次从1到10中随机一个数放入列表中
l2 = [random.randint(1, 10) for i in range(10)]
# [10, 5, 4, 4, 9, 2, 9, 5, 8, 9]
print(l2)

print("=============元组============")
# 元组为不可变类型 一旦确定就不可改变
# 其内置方法也比较少

# 它的定义方式也有两种
# 直接定义 在()中放入数字 输出为元组
tuple1 = (1, 3, 7, 9, 2, 6, 8)
print(tuple1, type(tuple1))  # <class 'tuple'>
# tuple() 把可迭代内容方入其中 自动迭代其中所有元素放入元组
# 把列表转换为元组
l1 = [1, 3, 5, 7, 3, 2, 0, 9, 0]
print(tuple(l1))
# (0, 0, 1, 2, 3, 3, 5, 7, 9)

# 元组推导式是一个生成器 generator
# 不能直接输出 只能通过遍历生成
tuple2 = (i for i in range(10))
# 直接打印会返回生成器格式
print(tuple2)  # <generator object <genexpr> at 0x000001FF66AFFED0>

# # 用tuple遍历
# tuple2 = tuple(tuple2)
# print(tuple2)
# 用for 循环遍历
for i in tuple2:
    print(i)
print("-------------内置方法------------")
# 它适合存放固定的数据 没有多余的操作 内存管理更加高效
# 内置方法只有两个常用

# index(value) 返回元素对应索引 找不到报错
print(tuple1.index(9))  # 3

# count(value) 统计元素在元组中的次数 找不到返回 0
print(tuple1.count(10))  # 0

print("=============字典============")
# 通过键值对的方式存放数据 可以快速获取值
# 定义方式{'key': 'value'}
# 键是不可变类型(绝大多数是字符串) 值是任意数据类型
dict1 = {
    'id
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值