Python数据容器

Python数据容器可以分为五类:

列表(list)

元祖(tuple)

字符串(str)

集合(set)

字典(dict)

一、列表

1.列表的定义

list = [元素1,元素2...]

2.列表中的元素类型没有限制,可以不同,也可以嵌套

比如:my_list = ["test",666,True]

3.列表的下标索引

(1)正序取索引

(2)倒叙取索引

4.列表中的方法(增删改查)

具体代码示例如下:

python 复制代码
my_list = ["tangbb", "kanyy"]

# 查询 语法:list.index(元素)
item = my_list.index("tangbb")
print(item)

# 修改 修改特定位置的元素值 语法:list[下标] = 值
my_list[0] = "tangyc"
print(my_list[0])

# 插入 在指定位置插入元素 语法:list.insert(下标,元素)
my_list.insert(1, "tangyc")
print(my_list)

# 追加 将元素追加到列表尾部 语法:list.appent(元素)
my_list.append("kyy")
print(my_list)

# 批量追加 语法:list.extend(其他数据容器)
my_list_2 = ["kyy", "tbb"]
my_list.extend(my_list_2)
print(my_list)

#删除 语法:1. del list[下标]  2. list.pop(下标)  3. list.remove(元素) 【此方法如果有多个元素从前往后值删除第一个查到元素】
my_list = ["tangbb", "kanyy","kyy","kyy"]
del my_list[0]
print(my_list)
my_list.pop(0)
print(my_list)
my_list.remove("kyy")
print(my_list)

# 清空 语法:list.clear()
my_list.clear()
print(my_list)

# 统计元素在列表中的数据 语法:list.count(元素)
my_list = ["tangbb", "kanyy","kyy","kyy"]
num = my_list.count("kyy")
print(num)

# 统计列表中的元素个数 语法:len(列表)
my_list_length = len(my_list)
print(my_list_length)
5.列表的遍历

(1)while循环

(2)for循环

二、元祖

1.元祖

元祖的大部分特性都与列表类似,但是元祖一旦被定义 内容不可变 ,有个特例,如果元祖中嵌套了list,list的元素时可以改的。

python 复制代码
"""
元祖一旦被定义 内容不可变
但是,如果元祖中嵌套了list,list的元素时可以改的
"""

# 元祖的定义
my_tuple = ("tangbb", 111, True)
my_tuple2 = ()
my_tuple3 = tuple()

# 查询 指定位置元素
item = my_tuple[0]
print(item)
# 查询 指定元素位置
index = my_tuple.index("tangbb")
print(index)
# 查询 指定元素数量
count = my_tuple.count("tangbb")
print(count)
# 查询 元素元素个数
length = len(my_tuple)
print(length)

# 元祖的遍历 while
index = 0
while index < len(my_tuple):
    print(f"元祖中元素有:{my_tuple[index]}")
    index += 1

# 元祖的遍历 for
for item in my_tuple:
    print(f"元祖中元素有:{item}")

三、字符串

1.定义

字符串本质是存放字符的数据容器

python 复制代码
"""
字符串是存放字符的数据容器
"""

my_str = "tangbingbing love kanyangyang"
# 通过下标索引取值
val1 = my_str[0]
val2 = my_str[1]
print(f"字符串中元素{val1},{val2}")

# index方法 返回指定字符的下标
val3 = my_str.index("k")
print(val3)

# replace方法
new_str = my_str.replace("e", "o")
print(new_str)

# split 方法
new_str_1 = my_str.split("love")
print(new_str_1)
# 输出结果 ['tangbingbing ', ' kanyangyang']

# strip 方法 (不传参数会把头尾空格去除,传参数会剔除头尾包含参数的元素,比如传"12" 会剔除头尾的1,2字符)
test_str = " 12test21 "
test_str_12 = "12test21"
test_str_1 = test_str.strip()
test_str_2 = test_str_12.strip("12")
print(test_str_1)
print(test_str_2)
# 输出结果:
# 12test21
# test

# 统计字符串中某字符出现的次数
count = my_str.count("y")
print(count)

# 统计字符串的长度
length = len(my_str)
print(length)

序列

1.序列的概念:

序列是指:内容连续、有序,可使用下标索引的一类数据容器。

列表、元祖、字符串,均可以看作序列。

2.序列的常用操作-切片

(1) 切片定义

从一个序列中取出一个子序列。此操作不会影响序列本身,它会得到一个新序列。

(2)语法:(起始下标、结束下标都可以为空,默认表示从头和结尾)

序列[起始下标:结束下标:步长]

python 复制代码
# 对list进行切片 从1开始4结束步长1
my_list = [1, 2, 3, 4, 5]
new_list = my_list[1:4:1]
print(new_list)
# 输出:[2, 3, 4]
# 对tuple进行切片 从头开始,到最后结束,步长1
my_tuple = (1, 2, 3, 4, 5, 6)
new_tuple = my_tuple[::1]
print(new_tuple)
# 输出:(1, 2, 3, 4, 5, 6)
# 对str进行切片 从头开始,到最后结束,步长2
my_str = "always online"
new_str = my_str[::2]
print(new_str)
# 输出:awy nie
相关推荐
夜幕龙5 分钟前
iDP3复现代码数据预处理全流程(二)——vis_dataset.py
人工智能·python·机器人
CT随8 分钟前
Redis内存碎片详解
java·开发语言
anlog17 分钟前
C#在自定义事件里传递数据
开发语言·c#·自定义事件
奶香臭豆腐30 分钟前
C++ —— 模板类具体化
开发语言·c++·学习
晚夜微雨问海棠呀38 分钟前
长沙景区数据分析项目实现
开发语言·python·信息可视化
graceyun38 分钟前
C语言初阶习题【9】数9的个数
c语言·开发语言
cdut_suye1 小时前
Linux工具使用指南:从apt管理、gcc编译到makefile构建与gdb调试
java·linux·运维·服务器·c++·人工智能·python
dundunmm1 小时前
机器学习之scikit-learn(简称 sklearn)
python·算法·机器学习·scikit-learn·sklearn·分类算法
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(1)
人工智能·python·算法·机器学习·sklearn
波音彬要多做1 小时前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法