Python基础回顾

这段时间研二的师兄开始找工作了,在牛客网做算法题。我也跟着用python开始刷了一下,发现好多基础的不会了,所以重新回顾一下有关python的基础知识。感觉代码这东西真的必须常练,不练就容易忘,所以还得多多练习,下面是python中类似数组一样的四个最基础的东西。 

列表(list):列表的格式是a=[];有点像数组,选其中元素的方法比如a[1],列表里面还可以包含其他列表,比如b=[1,[3,4]]。b=[1][0]=4;其是可以变化的,可以利用append函数增加元素,比如a.append(4),也可以插入函数,如a.insert(1,5)(在索引1处增加元素5)a.pop(1)则是弹出元素在索引为1的元素,末尾元素索引为-1。

元组(tuple):元组的格式贼是a=();跟列表不同的是他是小括号表示,但是在索引的时候还是用中括号,比如a[1],元组和列表不同的是一旦初始化就不可以进行更改了,但是若这个元组中有元素是由列表构成的,则可以改变这个列表使得元组可以改变。

字典(dict):在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。表示方法为d={‘a’:90,’b’:80,’c’:70}.注意这是一个大括号,但是如果是引用还是中括号,比如d[‘a’]=90。同样也可以d.pop(‘a’)进行弹出
和list相比dict有:1.查找和插入的速度极快,不会随着key的增加而变慢,因为dict内部存放的顺序和key放入的顺序无关;2,需要占用大量的内存,内存浪费多。list则是相反的1.查找和插入的时间随着元素的增加而增加;2.占用空间小,浪费内存少
dict可以用在需要高速查找的很多地方,在Python代码中几乎无处不在,正确使用dict非常重要,需要牢记的第一条就是dict的key必须是不可变对象(比如str是不变对象,而list是可变对象)。

集(set):set和dict类似,也是一组key的集合,但不存储value。其格式为s=set([1,2,3])。set中没有重复元素,重复元素自动被过滤。也可以通过函数说明添加s.add(4),括号里的为元素,添加在末尾,需要注意的是set显示的顺序也不表示其是有序的。s.remove(4)则是移除。
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。
———————————————–7.27补充——————————————–
突然感觉python不适合写算法,这方面不如C/C++,目前这样认为,希望以后能有改变

———————————————–8.21补充——————————————–

又感觉python写算法还行,这次来补充是因为写LeetCode第三题想到了字典可以减少查找时间,过来回顾一下

发表评论

邮箱地址不会被公开。 必填项已用*标注