—⇒传送门: python入门篇04-循环(while与for),变量,函数基础
—⇒ 传送门: python基础专栏
字典注意一下
{k-v}
:
key不可以重复
但是value随意
key重复了也不会报错(警告), 而是直接覆盖上个key
容器类型 | 容器名称 | 符号 | 是否修改 | 是否有序 | 是否重复 |
---|---|---|---|---|---|
列表 | list | [] | 是 | 是 | 是 |
集合 | set | {} | 是 | 否 | 否 |
字符串 | str | “” | 否 | 是 | 是 |
元组 | tuple | () | 否 | 是 | 是 |
字典 | dict | {“k”:“v”} | 是 | 否 | k否 v是 |
列表元素类型
不受限制
(与java的list不同
,操作也不太相似
)
- 列表容量 上限
2**63-1
- 可 储存
不同类型
的元素- 数据是
有序
存储允许重复数据
存在可修改
不同列表定义方式介绍:
列表元素
类型)lists = ["a", "b", "c"]
print(lists)
# print(type(lists))
列表元素
类型)lists = ["a", 1, True]
print(lists)
# print(type(lists))
列表元素
类型)lists = [["a", 1, True], ["a", 2, False]]
print(lists)
# print(type(lists))
根据
下标
进行搜索及相关操作
看异常情况:
print(lists[3])
#Error报错
: list index out of rangeIndex
下标超出范围了(java叫数组下标越界)
lists = ["a", "b", "c"]
print(lists[0])
print(lists[1])
print(lists[2])
lists = ["a", "b", "c"]
print(lists[-1])
print(lists[-2])
print(lists[-3])
lists1 = [["a", "b", "c"], ["1", "2", "3"]]
print(lists1[0][0]) # a
print(lists1[1][1]) # 2
print(lists1[1][2]) # 3
lists1 = [["a", "b", "c"], ["1", "2", "3"]]
print(lists1[-1][-1]) # 3
print(lists1[-2][-2]) # b
print(lists1[-2][-3]) # a
示例list, 请
先创建list
在进行下面操作lists = ["a", "b", "c"]
# 查找下表索引 不存在报错
index = lists.index("b")
print(f"b的位置是: {index}") # 1
lists[0] = "a1"
print(lists)
lists.insert(1, "b1")
print(lists)
lists.append("d")
print(lists)
一堆
元素lists2 = [99, 999, 9999]
lists.extend(lists2)
print(lists)
四种
方式)# 6.1 仅删除元素(根据下标)
del lists[1]
print(lists)
# 6.2 删除元素(等同于 取出下标元素并返回)
lists.pop(0)
print(lists)
# 6.3 删除元素(根据内容 找到第一个元素 删除) 只删除一个
lists.remove("b")
print(lists)
# 6.4 清空列表
lists.clear()
print(lists)
lists = ['a', 'a', 'b', 'b', 'c', 'd', 99, 999, 9999]
print(lists.count("a")) # 2
print(len(lists))
while/for循环遍历
输出
定义两个方法
def func_list_while(lists1):
index = 0
while index < len(lists1):
print(lists1[index])
index += 1
def func_list_for(lists1):
for index in lists1:
print(index)
代码
测试
并输出
结果
lists = [1, 2, 3, 4, 5, 6, 7, 8, 9]
func_list_while(lists)
print("上面while循环 下面for循环")
func_list_for(lists)
首先看看
元组与list
的区别
- list 列表 是可以修改的 用:
[]
表示- 元组 定义后 不可以修改 用:
()
表示tuple()
应用
元组
场景
- 程序内封装数据,并且
不希望被篡改
- 有点类似java的final修饰符修饰的意思
# 1. 任意类型元素 创建
t1 = (1, "hello", True)
# 2. 空元组定义1
t2 = ()
# 3. 空元组定义2
t3 = tuple()
# 4. 定义一个元素
t4 = tuple("hello")
t6 = ("hello")
注意: 这里表示的是一个字符串 ,
给出提示:让删除括号
正确写法如下(两种方法)
t5 = tuple("hello")
t7 = ("hello",)
print(type(t4))
print(type(t5))
print(type(t6)) # 不加tuple就必须加','
print(type(t7))
t8 = ((1, 2, 3), (4, 5, 6))
print(type(t8))
# 输出结果: 6 写法
print(f"嵌套元组下标1,2 的 值是: {t8[1][2]}")
先定义一个t9元组
t9 = (1, 2, 3, 3, 5, 6)
print(t9.index(2)) # 2元素位置下标是1
print(t9.count(3)) # 查看3有几个 2
print(len(t9)) # 查看元组长度 6
print("\n上面元组语法基础 下面循环 ")
index = 0
while index < len(t9):
print(t9[index])
index += 1
for index in t9:
print(index)
报错
)t10 = (1, 2, 3, 3, 5, 6)
t10[0] = 999 # TypeError: 'tuple' object does not support item assignment
可以
)注意:
元组本身
不可以修改
但是: 里面元素是列表[]
, 列表可以修改
t10 = (1, 2, [40, 50, 60])
t10[2][0] = 80
print(t10) # (1, 2, [80, 50, 60]) 修改成功 元组嵌套的list可修改
字符串的
容器视角
解释
- 支持
下标索引
- 字符串 是字符的容器, 一个字符串可以存放任意数量的字符
- 只能存字符串 并且不可修改
# 一个字符是一个元素
str1 = "zhangSan is a good boy"
value = str1.index("is")
print(value) # 9
str是不可修改的 会生成一个新的对象
str2 = str1.replace("a", "***")
print(str2) # zh***ngS***n is *** good boy
str2 = str1.split(" ")
print(str1) # zhangSan is a good boy
print(str2) # ['zhangSan', 'is', 'a', 'good', 'boy']
去掉前后空格
strip(元素) 从前到后去掉空格并删除第一个元素
java是trim()
str0 = " a b c "
print(str0.strip()) # a b c
print(str0.strip("a ")) # b c 去除空格并删除输入的值(从前到后)
str1 = "zhangSan is a good boy"
print(str1.count("o")) # 3
str1 = "zhangSan is a good boy"
print(len(str1)) # 22
案例详情
- 声明一个学生年龄的list
- 添加一个元素
- 添加一堆元素
- 取出一个年龄下标并输出
- 倒着取出一个年龄下标并输出
- 查找一个年龄对应的下标 注意报错
- 输出任意下标的年龄
- 清空年龄list
students_age_list = [10, 20, 30, 31, 31, 20]
print(students_age_list)
students_age_list.append(50)
print(students_age_list)
students_age_list.extend([29, 50, 60])
print(students_age_list)
print(students_age_list.pop(0))
print(students_age_list.pop(-1))
print(students_age_list.index(20))
print(students_age_list[0])
print(students_age_list.clear()) # None
- 列表list定义 常用操作
- 元组与列表区别 常用操作
- 字符串容器视角常用操作
作者pingzhuyan 感谢观看