容器

226 阅读3分钟

学习容器:五种容器有 列表list 元组tuple 字符串str 集合set 字典dict

列表 (List):

-   有序可变容器,可以存储多个不同类型的元素。
-   使用方括号 `[]` 创建,各元素用逗号分隔。
-   元素可以通过索引访问和修改。
-   支持添加、删除、切片等操作。

元组 (Tuple):

-   有序不可变容器,可以存储多个不同类型的元素。
-   使用圆括号 `()` 创建,各元素用逗号分隔。
-   元素可以通过索引访问,但不能修改。
-   支持切片等操作,但无法增加或删除元素。

字典 (Dictionary):

-   无序可变容器,以键值对的形式存储数据。
-   使用花括号 `{}` 创建,每个键值对用冒号 `:` 分隔,键值对之间用逗号分隔。
-   键必须是唯一的且不可变(通常为字符串或数字),值可以是任意类型。
-   可通过键获取对应的值,支持添加、修改、删除键值对等操作。

集合 (Set):

-   无序可变容器,用于存储唯一的、不可变的对象。
-   使用花括号 `{}` 或 `set()` 创建,各元素用逗号分隔。
-   不允许包含重复元素,自动去重。
-   支持集合运算(交集、并集、差集等)和添加、删除元素等操作。

字符串 (String):

-   有序不可变容器,用于存储文本或字符序列。
-   使用单引号 `' '` 或双引号 `" "` 创建,也可以使用三引号 `''' '''` 或 `""" """` 跨行创建多行字符串。
-   支持索引访问、切片和字符串方法(如查找、替换等)

案例1:要求使用容器存储用户录入的10个人名,然后遍历容器,统计字符数大于2个的有几个人名

"""解题思路:
 1,定义一个空列表
 2,从用户输入一个人名字
 3,添加到空列表
 4,用for循环获得十个人名字
 5,把十个人的名字打印出来
 6,用if判断一个名字长度大于二的
 7,把if放到for的循环遍历里面
 8,加上计数器count
 9,在循环体外输出个数
 10,每一步都要运行检查
"""

# 要求使用容器存储用户录入的10个人名,
# 然后==遍历容器==,统计字符数大于2个的有几个人名
# 先定义容器存储是个人名
name_list = []
# 用户循环输入的十个人名
for i in range(1, 11):
    name = input(f"请输入第123{i}个人名:")
    name_list.append(name)
# 所有人名单
print(name_list)
# 定义count计数器
count = 0
# if判断名字长度大于的
# for循环遍历
for name in name_list:
    # if判断
    if len(name) > 2:
        # print(name)
        # 条件控制
        count += 1
# 输出名字大于二的人数
print(f"所有人名字长度大于2的有{count}个")

案例2:要求随机生成一个验证码示例:'c1Ad',内容可以是字母,数字以及下划线

# 需求: 要求随机生成一个验证码示例:'c1Ad',内容可以是字母,数字以及下划线
# 大小写切换: ctrl+shift+U
# 定义一个大字符串存储所有的字母,数字以及下划线
big_str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_"
print(big_str)

# 方式一:原始方式
# 导包
import random

# 随机输出一个字符
index = random.randint(0, len(big_str) - 1)
print(big_str[index])
# 随机输出四个字符
index1 = random.randint(0, len(big_str) - 1)
index2 = random.randint(0, len(big_str) - 1)
index3 = random.randint(0, len(big_str) - 1)
index4 = random.randint(0, len(big_str) - 1)
# 打印出四个字符
print(big_str[index1] + big_str[index2] + big_str[index3] + big_str[index4])

#方式二:用for循环
# 用for循环
import random

# 定义一个空字符串
yzm = ""
# for循环遍历
for i in range(4):
    # 随机获取一个字符
    index = random.randint(0, len(big_str) - 1)
    # 加到字符串里
    yzm += big_str[index]
    # 循环外打印
print(yzm)

通过这些可以使我们更加快速便捷的在生活中做更多的事情,解决更多生活中重复繁琐的工作.这就是学习编程的好处之一,<编程还有很多好玩的方便我们工作的历程>