Python学习笔记——Day5

学习参考视频:第一阶段-第六章-01-数据容器入门_哔哩哔哩_bilibili

Day4学习进度:第六章01-011

知识点总结:

数据容器:一个变量可以记录多份数据。每份数据称为一个元素,元素可以是任何类型的数据,如字符串、数字、布尔等。

容器类型:列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict)

列表

定义:基本语法

# 字面量
[元素1, 元素2, 元素3,……]

# 定义变量
变量名称 = [元素1, 元素2, 元素3,……]

#定义空列表
变量名称 = []
变量名称 = list()
name_list = ['hello', 'world', 666, True, [1, 2, 3]]
# list内部可以存放不同数据类型,且支持list嵌套
print(name_list)
print(type(name_list))
# <class'list'>

列表的下标索引:可以取出特定位置的数据,从0开始由左至右递增,参考c++数组下标。也可以从-1开始由右至左递减。取列表中列表的元素,两层括号即可。

name_list = ['hello', 'world', 666, True, [1, 2, 3]]

print(name_list[0])
# 取出hello
print(name_list[4][2])
# 取出3
print(name_list[-3])
# 取出666

列表的方法:方法类似于函数,但是将函数定义为class(类)的成员,就会将函数称之为:方法。定义成方法后使用时需要先从类中获取。

查询查找某元素的下标。语法:列表.index(元素)

修改:修改特定位置(索引)的元素值。语法:列表[下标] = 值

插入:在指定的下表位置,插入指定元素。语法:列表.insert(下标, 元素)

追加1:将*单个*元素追加到列表的尾部。语法:列表.append(元素)

追加2:将*一批*元素从其他数据容器取出,依次追加到列表尾部。语法:列表.extend(其他数据容器)

删除语法1:del 列表[下标]   语法2:列表.pop(下标)。语句1 为单纯删除,语句2可以获取其返回值,相当于出栈,pop。

删除指定内容:删除某元素在列表中的第一个匹配项。语法:列表.remove(元素)

清空列表: 清空列表容器中的所有元素。语法:列表.clear()

统计元素:统计某元素在列表内的数量。语法:列表.count(元素)

统计总数:统计列表中共有多少元素。语法:len(列表)

name_list = ['hello', 'world', 666, True, [1, 2, 3]]

l = name_list.index(True)
print(l)
# 值为3

name_list[2] = 222
print(name_list[2])
# 666被修改为222

name_list.insert(2, "Dio")
print(name_list[2])
# 在下标2的位置插入一个新元素Dio

name_list.append([4, 5, 6])
print(name_list[6])
# 尾部追加一个新元素列表[4,5,6]

name_add = [7,8,9]
name_list.extend(name_add)
print(name_list[7],name_list[8],name_list[9])
# 在尾部追加另一个数据容器中的元素,789

# 当前列表元素 =['hello', 'world', 'Dio', 222, True, [1,2,3], [4, 5, 6],7, 8, 9]

del name_list[1]
print(name_list[1])
# 删除1号下标元素'world'

element = name_list.pop(3)
print(element)
# 3号下标元素弹出,值赋给element

name_list.remove(222)
print(name_list)
# 222被从列表中删除了

name_list.clear()
print(name_list)
# 列表被清空

name_list = [1,1,1,2,3]
num = name_list.count(1)
print(num)
# 列表中1的个数为3个

length = len(name_list)
print(length)
# 列表长度为5

列表特点总结:

1. 可以容纳多个元素,上限为(2**63-1)个

2. 可以容纳不同类型的元素

3. 数据是有序存储的(有下标序号)

4. 允许重复数据存在

5. 可以修改(增加或删除元素等)

列表的遍历:

while循环:可以自定循环条件,可以做到无限循环,任何循环场景都能用

tra_list = [1, 8, 555, True, '你好']

index = 0
while index < len(tra_list):
# 利用index作为下标索引,len来判定列表长度边界
    print(tra_list[index])
    index += 1

for循环:不可以自定循环条件,不能无限循环,只能进行固定次数的遍历

tra_list = [1, 8, 555, True, '你好']

for element in tra_list:
# 将tra_list中的元素循环输入element中进行处理,不需要进行循环控制
    print(element)

元组

定义:列表可以修改,元组一旦定义完成,就不可修改(只读的list)

元组中元素也可以是不同类型,同样可以嵌套

# 定义元组字面量
# (元素, 元素, …………, 元素)
(1, "Hello", True)
# 定义元组变量
# 变量名称 = (元素, 元素, …………, 元素)
t1 = (1, "Hello", True)
# 定义空元组
# 变量名称 = ()          方式1
# 变量名称 = tuple()     方式2
t2 = ()
t3 = tuple()
# type(t2)类型为<class'tuple'>

元组的操作方法(类比列表,但不能修改元素,对元组元素的修改操作会直接报错)

方法作用
index()查找某个数据并返回其下标
count()统计某个数据在当前元组出现的次数
len(元组)统计元组内的元素个数

特例:元组中嵌套的list中的元素是可以修改的。

字符串

定义:字符串是字符的容器,一个字符串可以存放任意数量的字符。字符串和元组类似,是一个无法修改的数据容器,对字符串的修改只会得到新字符串,老字符串内容不变。

字符串同样有下标索引。

字符串的操作:

查找:查找字符串中小字符串的初始位置。字符串.index("小字符串")

替换:将字符串内的全部 '字符串1' 替换为 '字符串2' ,并得到一个新字符串。字符串.replace("字符串1", "字符串2")

分割:按指定的分隔符字符串,将字符串划分为多个字符串,并存入列表对象。字符串本身不变,得到一个列表对象字符串.split(分隔符字符串)

字符串规整(去前后空格):字符串.strip()

字符串规整(去前后指定字符串):字符串.strip(字符串)

统计字符出现次数:字符串.count("字符串")

统计字符串长度:len()

my_str = "Hello world im Dio"

# index
place = my_str.index("Dio")
print(place)
# 输出Dio第一次出现在字符串中的下标15

# replace
new_str = my_str.replace("Hello", "The")
print(new_str)
# 将Hello替换为The,并产生一个新的数组

# split
my_list = my_str.split(" ")
print(my_list)
# 将字符串按照空格分割并生成一个新列表,['Hello', 'world', 'im', 'Dio']

# strip
my_str = "  Hello world im Dio   "
print(my_str.strip())
# 去除字符串前后空格
# .strip()方法要写在输出的时候

my_str = "12Hello world im Dio21"
print(my_str.strip("12"))
# 去除字符串前后字符,1,2会按照单个字符分别去除

序列

定义:内容连续、有序,可使用下标索引的一类数据容器

列表、元组、字符串都可以视为序列。

序列常用操作—切片:

序列支持切片,切片的定义是从一个序列中取出一个子序列

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

表示:从序列中指定位置开始,依次取出元素,到指定位置结束,得到一个新序列

· 起始下标可以留空,视作从头开始

· 结束下标(不含)可以留空,视作截取到结尾

· 步长表示取元素的间隔:1 一个一个取;2 每次跳过一个;N 每次跳过N-1个;负数 表示反向取,此时起始和结束下标也要反向标记。可以省略不写,默认为1。

对序列的切片操作不会影响序列本身,而是生成一个新的序列。

my_list = [0, 1, 2, 3, 4, 5, 6]
result1 = my_list[1:4]
print(result1)
# 从1到4(不含)按序取出,步长可省略

result2 = my_list[:]
print(result2)
# 从头至尾按序取出

result3 = my_list[::2]
print(result3)
# 从头至尾隔1个取出

result4 = my_list[::-1]
print(result4)
# 从尾至头按序取出,相当于翻转序列

result5 = my_list[4:1:-2]
print(result5)
# 从4至1隔一个取出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值