python基础(六)--for循环和元组
前言
本文承接上文
for循环
之前我们提到过for循环是循环的一种,之前没有直接讲,是因为python中的for循环和其他语言的有一点不一样
for常用于遍历字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。
for循环的语法:
for 迭代变量 in 字符串|列表|元组|字典|集合: |
格式中,迭代变量用于存放从序列类型变量中读取出来的元素,所以一般不会在循环中对迭代变量手动赋值
流程如图:
例如:
for循环循环字符串
url= "https://www.nghqqa.cn/" |
运行结果为
https://www.nghqqa.cn/ |
for循环列表
my_list = [1,2,3,4,5] |
运行结果为
sum = 1 |
for循环元组和字典基本和上述两种都一样
for循环就提到这里
元组
元组是一个不可变的序列
它的操作的方式基本上和列表是一致的
所以你在操作元组时,就把元组当成是一个不可变的列表就可以了
一般当我们希望数据不改变时,就使用元组,其余情况都使用列表
定义:
与列表类似,只不过[]改成()
也是可以存储各种数据类型:整数、实数、字符串、列表、元组等任何类型的数据,并且在同一个元组中,元素的类型可以不同
例如:
test=( 1, [2,'a'], ("abc",3.0)) |
运行结果为
(1, [2, 'a'], ('abc', 3.0)) |
创建元组
my_tuple = () # 创建了一个空元组 |
运行结果为:
() <class 'tuple'> |
my_tuple = (1,2,3,4,5) # 创建了一个5个元素的元组 |
运行结果为:
Traceback (most recent call last): |
你去给定义好的元组去赋值是会报错的
当元组不是空元组时,括号可以省略
如果元组不是空元组,它里边至少要有一个,不然 Python 解释器会将它视为字符
my_tuple = 10,20,30,40 |
运行结果为
(40,) <class 'tuple'> |
访问元组元素
和列表一样,我们可以使用索引(Index)访问元组中的某个元素(得到的是一个元素的值),也可以使用切片访问元组中的一组元素(得到的是一个新的子元组)。
使用索引访问元组元素的格式为:
tuplename[i] |
其中,tuplename 表示元组名字,i 表示索引值。元组的索引可以是正数,也可以是负数。
使用切片访问元组元素的格式为:
tuplename[start : end : step] |
其中,start 表示起始索引,end 表示结束索引,step 表示步长。
以上的方法我们在以前的文章中都提到过,就写个例子:
url = tuple("https://www.nghqqa.cn/") |
运行结果为
p |
修改元组
前面我们已经说过,元组是不可变序列,元组中的元素不能被修改,所以我们只能创建一个新的元组去替代旧的元组。
tup = (100, 0.5, -36, 73) |
运行结果为
(100, 0.5, -36, 73) |
注意:元组本身不可变,如果元组中还包含其他可变元素,这些可变元素可以改变
tup = (100, 0.5, -36, 73,["url",123]) |
运行结果为
(100, 0.5, -36, 73, ['url', 123]) |
这里可以解释一下元组中的可变元素为什么可以变这个问题
元组中的元素可以想象成一个房子,房子里的房间号是固定的,而如果那个元素是可变的,也就代表那个房间里面还有一个房间,而那个可变元素房间里的房间号是可以改变的,那个可变元素的固定的是在元组中的内存地址,而可变元素本身也是指向另外一个内存地址,那个内存地址指向的元素改不改变和元组的固定没有任何的关系
删除操作
删除元组
使用del关键字
tup = (100, 0.5, -36, 73) |
运行结果为
(100, 0.5, -36, 73) |
本文到此结束,下文静等更新…(未完待续)
(下文更新字典)
感谢你的阅读