python学习(7)条件判断和循环、字典(map)

来源:互联网 发布:黑岩集团知乎 编辑:程序博客网 时间:2024/06/08 19:17

一、条件判断

1、注意使用:表示块级区域


2、elif表示else if


3、x不为数字零,空的list,空的字符串都是True,否则为False

if x:
    print("xxx");

二、循环

1、or...in..循环list或者是tuple

for x in list


2、range(5)生成从0-4的整数


3、while循环


三、内置字典dict

dict全称为dictionary,在其他语言中成为map,键值对的形式存在

声明字典

d= dict(name='lili',age=23)


1、取值   d = {'name':lili",'age':23}

d['name'] // 'lili'

如果取的键不存在就会报错


2、赋值

d['age'] = 24;


3、判断键是否存在

‘name’ in d  //True

‘name2’ in d  //False


通过get方法,不存在就返回None,也可以设置不存在时的返回值d.get('name',-2)


4、删除一个键

d.pop('name')  //'lili'

或者del d['lili']


四、set是key的集合,没有value,不会有重复的key

s=set([1,2,3,3,3,3])  //{1,2,3}

1、添加元素

s.add(4)  //{1,2,3,4}

可以重复添加,但是无效


2、删除key

s.remove(3) //{1,2}


3、可以求两个set的交集,或者并集

>>> s1 = set([1, 2, 3])>>> s2 = set([2, 3, 4])>>> s1 & s2{2, 3}>>> s1 | s2{1, 2, 3, 4}

五、不可变对象

1、可变对象,list

>>> a = ['c', 'b', 'a']>>> a.sort()>>> a['a', 'b', 'c']

2、不可变对象str

>>> a = 'abc'>>> b = a.replace('a', 'A')>>> b'Abc'>>> a'abc'

replace方法创建了一个新字符串'Abc'并返回,如果我们用变量b指向该新字符串,就容易理解了,变量a仍指向原有的字符串'abc',但变量b却指向新字符串'Abc'


对于不变对象来说,调用对象自身的任意方法,也不会改变该对象自身的内容。相反,这些方法会创建新的对象并返回,这样,就保证了不可变对象本身永远是不可变的。



六、请务必注意,dict内部存放的顺序和key放入的顺序是没有关系的。正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象

和list比较,dict有以下几个特点:

  1. 查找和插入的速度极快,不会随着key的增加而变慢;
  2. 需要占用大量的内存,内存浪费多。

而list相反:

  1. 查找和插入的时间随着元素的增加而增加;
  2. 占用空间小,浪费内存很少。

所以,dict是用空间来换取时间的一种方法。






0 0