跟着廖雪峰学python004

 编辑

循环

Python有两种循环:

① for ... in 循环

② while循环

dict字典

set集合

for ... in 循环

依次把list或tuple中的每个元素迭代出来

names = ['Michael', 'Bob', 'Tracy']
for name in names:
    print(name)

Terminal:        编辑

 

for x in M: 就是取M中的每个元素赋值给变量x ,然后执行后面程序

如:计算1-10之和

sum=0
for num in [1,2,3,4,5,6,7,8,9,10]:
    sum=sum+num
print(sum)

Terminal:        编辑

 

range()函数:可以生成一个整数序列,可以通过list()函数转化为列表类型,从0开始

num=list(range(10))
print(num)

Terminal:        编辑

 

 如:计算1-100之和

sum=0
num=list(range(101))
for m in num :
    sum=sum + m
print (sum) 

Terminal:        编辑

while循环

只要条件满足,就不断循环,条件不满足时退出循环

如:计算100以内奇数和

sum=0
n=1
while n<100:
    sum=sum+n
    n=n+2
print(sum)

Terminal:        编辑

break 跳出整个循环

continue 跳出当前循环

如:计算100以内奇数和

sum=0
num=list(range(101))
for i in num:
    if i%2==0:
        continue
    else:
        sum=sum+i
print(sum)

 Terminal:        编辑

编辑

dict字典

字典使用键-值(key-value)存储,具有极快的查找速度

如:查询学生成绩,以前会列出names和scores列表,现在使用字典

names = ['Michael', 'Bob', 'Tracy']#以前
scores = [95, 75, 85] #以前
d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
print(d['Michael'])

 Terminal:        编辑

 

给定一个名字,要查找对应的成绩:

列表:就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长

字典:只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢

编辑

 

把数据放入dict的方法,除了初始化时指定外,还可以通过key放入

 d [ ' Adam ' ] = 97

一个key只能对应一个value,所以,多次对一个key放入value,后面的值会把前面的值冲掉

编辑

 编辑

 

set集合

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key(没有重复元素)

创建一个set:

s = set([1, 2, 3])
print(s)

编辑

 传入的参数[1, 2, 3]是一个list,而显示的{1, 2, 3}只是告诉你这个set内部有1,2,3这3个元素,显示的顺序也不表示set是有序的

add(key):添加元素

remove(key):删除元素

编辑

sort():对列表就地排序

replace() :字符串替换字符

编辑

 虽然replace的对象是'abc',但是并没有改变'abc',而是创建了新字符串'Abc'。
所以,对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。

posted @ 2023-02-06 12:09  歆布  阅读(45)  评论(0编辑  收藏  举报