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
相关推荐
yufei-coder2 分钟前
C#基础语法
开发语言·c#·.net
长天一色2 分钟前
【ECMAScript 从入门到进阶教程】第三部分:高级主题(高级函数与范式,元编程,正则表达式,性能优化)
服务器·开发语言·前端·javascript·性能优化·ecmascript
_.Switch14 分钟前
Python机器学习模型的部署与维护:版本管理、监控与更新策略
开发语言·人工智能·python·算法·机器学习
醉颜凉16 分钟前
银河麒麟桌面操作系统修改默认Shell为Bash
运维·服务器·开发语言·bash·kylin·国产化·银河麒麟操作系统
NiNg_1_23422 分钟前
Vue3 Pinia持久化存储
开发语言·javascript·ecmascript
带带老表学爬虫31 分钟前
java数据类型转换和注释
java·开发语言
Hoper.J33 分钟前
PyTorch 模型保存与加载的三种常用方式
人工智能·pytorch·python
qianbo_insist33 分钟前
simple c++ 无锁队列
开发语言·c++
BigYe程普44 分钟前
我开发了一个出海全栈SaaS工具,还写了一套全栈开发教程
开发语言·前端·chrome·chatgpt·reactjs·个人开发
彭于晏6891 小时前
Android广播
android·java·开发语言