第1月2周3天

!!!note 默写
13. 有如下列表
* li = [1, 3, 4, "alex", [3, 7, 8, "TaiBai"], 5, "RiTiAn"]
循环打印列表中的每个元素,遇到列表则再循环打印出它里面的元素。
!!!

1.字典
2.字典的增删改查以及其他操作
3.字典的嵌套
4.预习博客

!!!error 知识点

列表切片改值 将字符串一个个添加到固定位置

对原字符串的改动都会形成新的字符串,而不是改动原来的。

!!!

"repalce()使用之后如果有替换那么不替换。"
if comment.upper() == Q:break
  for i in li:
    comment = comment.replace(i,"*"*len(i))
  [].append(comment)

字典

字典是python的基础数据类型之一
字典可以存储大量的数据,关系型数据
python中唯一的 映射类 的数据类型

数据类型分类

可变的数据类型: list,dict
不可变的数据类型: str,int,bool,tuple

字典的键必须是可散列(可哈希)的数据类型,一般是 数字 字符串

字典的值是任意数据类型

优点

字典可以存储大量的数据,关系型数据。
查询速度快 二分查找:1到100 查7次查到2的7次幂刚好过100.散列表比这更高。

py3.5 之前无序
Py3.6 之后有序
!!!error 注意
没有索引 没有切片
!!!

"增,改"
dic["sex"] = 男 
dic.setdefault(self,k,d=None) 由此key不做任何操作返回对应的值,没有key返回设置的值
dic.setdefault("boby","讲课")

pop(self, index=None) 不存在key报错,存在返回删除item的值
dic.pop("name") 没有报错
dic.pop("name",None) 没有key,不报错
dic.pop("sfjls","没有此间") 没有key,把第二个参数返回回来。

"清空"
dic.clear() 

"py3.5之前随机删除并返回删除的值,3.6之后有序,默认删除最后一个"
dic.popitem()  返回元组键值对

del
按照键删除
del dic[“name”] 
删除整个字典
del dic

dic["age"] = 25

两个字典的更改方式
def update(self, *args, **kwargs)

dic = {"name":"j","age"}
dic2 = {"name":"2","weight":75}

dic = {'name':'jin','age':18,'sex':'male'}
dic2 = {'name':'alex','weight':75}
dic2.update(dic)
print(dic) 
将dic2中所有的键值对覆盖并添加到dic中,dic2不变
dic.update(dic2)
dic.update(a=66)

索引方式不好,如果没有报错 keyError 
dic["name"]


dic.get("name","没有此键")
dic.get("name") 没有返回None
dic.get("name","没有此键") 没有此key时,返回值可设置成字符串,字典

三个方法

dic.keys() 
dict_keys类型 
类似于列表的容器 
没有索引
可以遍历

"keys转化成列表"
list(dic.keys())


dic.values() dict_values类型

dic.items()   dic_items类型

for 循环去查

分别赋值

a,b,c = [10,20,30] 个数对应
a,b = b,a

其他方法


posted @ 2018-08-20 19:44  寓清于浊  阅读(89)  评论(0编辑  收藏  举报