python第三课(循环 数据容器)
python while循环与for循环基础
一.循环*
循环是一种代码重复执行的机制,当某个条件成立时,会重复执行语句
直到条件不满足 停止循环
1.while循环
通过条件控制循环执行,条件为True时重复执行代码块,直到条件变为False不确定循环次数,需要手动维护条件。
while 循环条件:
条件成立时执行峰代码
#若成立在执行
示例:
while count < 5:
print(count)
count += 1
- for循环
遍历可迭代对象(如列表、元组、字符串等),每次迭代获取一个元素 。迭代驱动循环(遍历一组数据) 确定循环次数不容易发生死循环
示例:
for 临时变量 in 可迭代对象
需要执行的代码语句
fruits = ["apple", "banana", "cherry"]
for fruit in fruits:
print(fruit)
注意:
range (a,b,c)就是一个可迭代对象 字符串
列表等也是一个可迭代对象
指定数字范围,若为(0,5)则包括前面不包括后面 左闭右开
a 指的是 序列的第一个数 b 指的是 序列的 “终点线” c 指的是相隔的步长
# 可迭代对象:就是可以把数据依次取出来的容器 range就是一个可迭代对象
嵌套循环
循环内部包含另一个循环,常用于处理多维数据或复杂逻辑。
示例:
for i in range(1,8):
print(f'这是循环的第{i}天')
for j in range(1,6):
print(f'这是{i}{j}')
day = 1
while day <=7:
print(f'这是循环的第{day}天')
world = 1
while world <= 5:
print(f'这是我学习的{day}天,{world}单词')
world += 1
day += 1
# 九九乘法表
for i in range(1, 10): # 控制行数(被乘数:1到9)
line_content = ""
for j in range(1, i + 1):
product = i * j
line_content += f"{j}×{i}={product}\t"
print(line_content)
循环控制语句
break:立即终止当前循环。
continue:跳过当前迭代,进入下一次循环。else:循环正常结束(非break退出)时执行。
示例:
for num in range(5):
if num == 3:
break # 终止循环
print(num)
else:
print("循环完成") # 不会执行
数据容器:列表与元组
数据容器
1.可以存放多个元素 ,每一个数据都被称为元素
2.数据容器中的元素可以使任意类型
3.数据容器会给我们提供多个操作元素的方法
4.在python里面的数据容器包括 列表(list) 元组(tuple) 字符串(str) 集合(set) 字典(dict)
列表(List)
- 列表就是用来存放一组有序的数据,而且可以对其中的数据进行增删改查
- #下标 也被称为索引就就是元素在列表中的位置编号,分为正索引和负索引通过下标取值时不要超过列表范围否则会报错
常用方法:
list1 = [10, 20, 30, 40, 50]
# 1. 查(查询/访问列表元素)通过索引访问(索引从0开始)
print("1. 查操作:")
print(f"访问索引0的元素:{list1[0]}") # 输出:10
print(f"访问最后一个元素:{list1[-1]}") # 输出:50
print(f"切片访问(索引1到3):{list1[1:4]}") # 输出:[20, 30, 40]
# 2. 增(向列表添加元素)
print("\n2. 增操作:")
list1.append(60) # 末尾添加元素
print(f"append添加后:{list1}") # 输出:[10, 20, 30, 40, 50, 60]
list1.insert(2, 25) # 在索引2的位置插入25
print(f"insert插入后:{list1}") # 输出:[10, 20, 25, 30, 40, 50, 60]
add_list = [60, 70, 80]
list1.extend(add_list)
print(f"extend添加列表后:{list1}") # 输出:[10, 20, 30, 40, 50, 60, 70, 80]
# 3. 改(修改列表元素)
print("\n3. 改操作:")
list1[3] = 35 # 修改索引3的元素为35
print(f"修改后:{list1}") # 输出:[10, 20, 25, 35, 40, 50, 60]
# 4. 删(删除列表元素)
print("\n4. 删操作:")
del list1[2] # 删除索引2的元素
print(f"del删除后:{list1}") # 输出:[10, 20, 35, 40, 50, 60]
list1.remove(40) # 删除指定值的元素(第一个匹配项)
print(f"remove删除后:{list1}") # 输出:[10, 20, 35, 50, 60]
# pop 具有返回值 res = list1.pop(1)返回值就为res
pop_element = list1.pop() # 删除并返回末尾元素
print(f"pop删除的元素:{pop_element},删除后列表:{list1}") # 输出:60,[10, 20, 35, 50]
list1.clear() #全部清除
列表的其他方法 :
list.index(值) 返回元素第一次出现的下标
list.count(值) 返回统计元素在列表当中出现的次数
list.reverse() 反转列表,不需要参数,直接操作的原列表
list.sort(reverse=布尔值) 对列表进行排序,默认从小到大,会改变原列表。 如果列表里有多个数据类型的元素,会报错
以及列表内置方法:以下方法不一定非是int 在字符串里面可以用max,min,num.但是不能用sum
num = [20,30,40,50,60]
a = max(num)
b = min(num)
c = len(num)
d = sum(num)
print(a)
print(b)
print(c)
print(d)
列表的特点:
1.可以存放不同类型的元素
2.元素是有顺序的(正索引和负索引)
3.列表中的元素都是可以重复的
4.列表可以增删改查
5.列表长度不固定,可以随意操作
元组(Tuple)
- 不可变序列,用圆括号
()定义,无法修改元素(不可增删改) - 适用于存储常量数据。
- 当创建元组时,若只有一个元素要在元素后加逗号,来告诉解释器这个是元组
t1 = (10, 20, 30, 40, 50)
t2 = ('web', 'ui', 'java', 'python')
t3 = (100, True, '你好', [1, 2, 3])
print(t1, type(t1))
print(t2, type(t2))
print(t3, type(t3))
# 空元组的两种创建方式
t4 = ()
t5 = tuple()
print(t4, type(t4))
print(t5, type(t5))
# 当元组里面只有一个数据时,末尾要添加逗号
t6 = ('你好',)
t7 = (20,)
print(t6, type(t6))
print(t7, type(t7))
元组内置方法
print(max(t1))
print(sorted(t1))#输出为列表 且为新列表
print(min(t1))
print(sum(t1))
print(len(t1))
元组的特点:
1.可以存放不同类型的数据
2.元素是有顺序的(正索引和负索引)
3.元组中的元素可以重复
4.元组数据不可以修改,只能查看 列表可以修改
5.元组长度是固定的一旦创建不可修改 列表长度不固定
结合循环与容器
遍历列表或元组时,for循环更简洁;while循环适合条件不确定的场景。
示例(遍历元组):
index = 0
while index < len(t1):
print(t1[index])
index += 1
for i in stu:
print(i)
遍历列表相同
更多推荐
所有评论(0)