Python3学习笔记03

为了让计算机能计算成千上万次的重复计算,我们就需要用到循环语句。
Python的循环有两种,一种是for……in循环,依次把list或tuple重的每个元素迭代出来;
range可以生成一个整数序列,range(5)能生成一个从0开始,到小于5的整数序列;

sum=0
for x in range(101)
sum=sum+x
print(sum)

即可求出1至100的整数相加的和。

第二种循环是while循环,只要条件满足,就不断循环,条件不满足时推出循环。
比如我们要计算100以内所有技术之和,可以用while循环实现:
sum=0
n=99
while n>0:
sum= sum+n
n=n-2
print(sum)
在循环内部变量n不断自减,直到变为-1时,不再满足while条件时,循环退出。

循环是让计算机做重复任务的有效的方法,有些时候,如果代码写的有问题,会让程序陷入“死循环”,也就是永远循环下去。这时候可以用Ctrl+c退出程序,或者强制结束Python进程。

尝试写一个死循环程序。
a=1
while a>0:
a=a+1
print(a)

Python内置了字典:dict的支持,全称dictionary,在其他语言中也成为map,使用键-值(key-value)存储,具有极快的查找速度。
dict是用空间来换取时间的一种方法。
dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象。这是因为dict分局key来计算value的存储位置,如果每次计算相同的key得出的结果不同,那dict内部就完全混乱了。这个通过key计算位置的算法成为哈希算法(Hash)。要保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变得,因为可以放心地作为key。而list是可变的,就不能作为key。

set与dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合。

通过add(key)方法可以添加元素到set中,可以重复添加,但不会又效果;
通过remove(key)方法,可以删除元素;
set可以看作数学意义上的无序和无重复元素的计合,因此,两个set可以做数学意义上的交集、并集等操作;
s1&s2 s1|s2

set和dict的唯一区别仅在于没有存储对应的value,但是set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。

你可能感兴趣的:(python基础)