python学习2

学廖雪峰老师的python教程笔记。

1、字典dictionary  无顺序  key的对象不可变(字符串str,数字,元祖,不能是list)

主要特点:查找速度快 ex.想要查找某人的成绩。key-value存储方式:有索引key,快速查出对应值。

d = {'Lisa' : 18, 'Jennie' : 19, 'Rose' : 19}

d['Jennie' ]

19

d['Jack'] =90 添加信息 / 对key对应value值更新

del dict['Name']         # 删除键 'Name'

dict.clear()                  # 清空字典

del dict                         # 删除字典

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

对字典某key的value操作,要先判断该key是否存在。

(1) ‘Jisoo’ in d

             False      则表示不存在

(2)get()用法

>>> d.get('Thomas')              # 无返回none值

>>> d.get('Thomas', -1)          #无,则返回指定value值

-1

2、set

set可以看成数学意义上的无序无重复元素的集合,因此,两个set可以做数学意义上集合运算的交集 | 、并集 & 等操作

只有key,无对应value值。key是不可变对象

s = set([1, 2, 3])          # 创建一个set,提供一个list作为输入集合            d= { } 创建一个空字典

 输入s    返回 {1, 2, 3} 

s.add(4)  s.remove(4)   添加删除元素 

3、list,set,tuple,dic比较

list和tuple都是有序的,可以通过索引下边读取其value

set和dic都是无序的,通过key读取

严格意义上,只有list能变,可删除、任意添加、替换。tuple定死,其中元素无法改变。

set和dic 必须是已有key存在,才能去读其value值。key的对象不可变(str,int  注list可变)

>>> a ='abc'

>>> a.replace('a','A')    创建了一个新字符并返回,但是a这个字符串仍未改变。

'Abc'

>>> a

'abc'

4、s =set([1,2,3])

s.add((1, [2,3])) 

print(s)

#运行出错 说不允许的类型  输入元组(1,2,3)作为key值可以,但是含列表的元组不可。 dic中alike

d = {(1,2,3):12}

print(d[(1,2,3)])

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。