python全栈开发笔记---------数据类型---字典方法
def clear(self) 清空字典里所有元素
# info = {
# "k1":18,
# "k2":True,
# "k3":[
# 11,
# [],
# (),
# 22,
# 33,
# {
# 'kk1':'vv1',
# 'kk2':'vv2',
# 'kk3':(11,22)
# }
# ],
# "k4":(11,22,33,44)
# }
# info.clear() #清空字典里所有元素
# print(info)
def copy(self) 浅拷贝,生成新的值付给新的变量。
def fromkeys(*args, **kwargs) #创建一个新字典。
dic = {123,456,"age","name"}
dic1 = dict.fromkeys(dic)
print(dic1) #输出结果:{456: None, 123: None, 'age': None, 'name': None}
# dic = {123,456,"age","name"}
# dic1 = dict.fromkeys(dic,10)
# print(dic1) #输出结果:{456: 10, 123: 10, 'age': 10, 'name': 10}
def get(self, *args, **kwargs) 返回指定键的值,如果值不在字典中返回d值,默认为None
dic ={"k1":"v1"}
v = dic['k1']
print(v) #输出结果:v1
dic ={"k1":"v1"}v1 = dic['k1111']print(v1) #取不存在的结果时候报错
dic ={"k1":"v1"}v2 = dic.get('k1')print(v2) #输出结果:v1
dic ={"k1":"v1"}
v3 = dic.get('k1111')
print(v3) #通过get取值时候,不存在的key时候,返回None 。后面可以指定值。
dic ={"k1":"v1"}
v4 = dic.get('k1111',111)
print(v4) #输出结果:111
def items(self)以列表返回可遍历的(键, 值) 元组数组。
m = {1:1,2:2,3:3}
m1 =m.items()
print(m1) #输出结果:dict_items([(1, 1), (2, 2), (3, 3)])
def keys(self)以列表返回一个字典所有的键。
dic = {'Name': 'Zara', 'Age': 7}
v =dic.keys()
print(v) #输出结果:dict_keys(['Name', 'Age'])
def values(self) 函数以列表返回字典中的所有值。
dic = {'Name': 'Zara', 'Age': 7}
v =dic.values()
print(v) #输出结果:dict_values(['Zara', 7])
def pop(self, k, d=None)函数用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。
dic = {"k1":'v1',
"k2":'v2'
}
v =dic.pop("k1")
print(dic,v) #输出结果:{'k2': 'v2'} v1
def popitem(self) 方法随机返回并删除字典中的一对键和值。
# 如果字典已经为空,却调用了此方法,就报出KeyError异常。
dic = {"k1":'v1',
"k2":'v2'
}
v = dic.popitem()
print(v) #输出结果:('k2', 'v2') 随机删除。
def setdefault(self, *args, **kwargs) 字典 setdefault() 函数和get() 方法类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
# dic = {"k1":'v1',
# "k2":'v2'
# }
# v = dic.setdefault("k1111",111)
# print(v,dic) #输出结果:111 {'k1': 'v1', 'k2': 'v2', 'k1111': 111}
def update(self, E=None, **F) 添加到指定字典dict里的字典。
dic = {"k1":'v1',
# "k2":'v2'
# }
# dic.update({'k1':'111111','k3':123})
# print(dic) #输出结果:{'k1': '111111', 'k2': 'v2', 'k3': 123}
dic = {"k1": 'v1',
"k2": 'v2'
}
dic.update(k1=123, k3=345, k5="asdf") #
print(dic) # 输出结果:{'k1': 123, 'k2': 'v2', 'k3': 345, 'k5': 'asdf'}
ps: 如果**kwargs 这种的python内部 就会自动(k1=123,k3=345,k5="asdf") 转换成字典{'k1':'111111','k3':123}形式。
get 与setdefault的区别
使用get取值:
取出一个已有键的值(直接返回结果)
取出一个不存在的键的值(无返回值,但不报错)
使用setdefault取值:
取出一个已有键的值(直接返回结果)
取出一个不存在的键的值(返回默认键的值,并且将新的键值保存在字典中)
python全栈开发笔记---------数据类型---字典方法的更多相关文章
- python全栈开发笔记---------数据类型-----字典dict
字典 #dict #1.基本结构 info= { "k1" : "v1", #键值对 "k2" : "v2" } ### ...
- python全栈开发笔记---------数据类型-----集合set
定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key 1.不同元素组成 2.无序 3.集合中元素必须是不可变类型(数字,字符串,元组) 特性:集合的目的是讲不同的值放到 ...
- python全栈开发笔记---数据类型--综合练习题
一.有两个列表 l1 = [11,22,33] l2 = [22,33,44] a. 获取内容相同的元素列表 for item in l1: if item in l2: print(it ...
- python全栈开发笔记---------数据类型****整理****
一.数字 int(..) 二.字符串 replace/find/join/strip/startswith/split/upper/lower/format tempalet ='i am {name ...
- python 全栈开发,Day5(字典,增删改查,其他操作方法)
一.字典 字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.存储大量的数据,是关系型数据,查询数据快. 列表是从头遍历到尾字典使用二分查找 二分查找也称折半查找(Bi ...
- python全栈开发笔记----基本数据类型---列表方法
#list 类中提供的方法 #参数 1.def append(self, *args, **kwargs)原来值最后追加#对象..方法(..) #li对象调用append方法 li = [11,22, ...
- python全栈开发笔记----基本数据类型---列表List
#list 是 类 ,列表 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但 ...
- python全栈开发笔记---基本数据类型--字符串魔法
字符串: def capitalize(self, *args, **kwargs) test = "aLxs" v = test.capitalize() #capitalize ...
- python全栈开发笔记---------基本数据类型
基本数据类似包括: 字符串(str) 数字(int) 列表(list) 元祖(tuple) 字典(dict) 布尔值(bool) 字符串(引号): name = "我是某某某" n ...
随机推荐
- Chrome调试WebView时Inspect出现空白的解决方法(使用离线包不Fan墙)
起因 使用HTML5开发Android应用时,少不了调试WebView.做前端的还是习惯Chrome的开发者工具,以前都是输入Chrome://inspect就可以调试WebView了,太方便了. 最 ...
- nuxtJs中直接使用自带的@nuxtjs/axios
最初我以为在nuxtjs中是需要重新npm install axios,但是其实nuxtjs自己集成了这个数据渲染方法 你只需在nuxt.config.js中配置一下就可以了 modules: [ / ...
- [ Python ] unittest demo
# -*- coding: utf-8 -*- import unittest class MyUT(unittest.TestCase): def test_1(self): print(" ...
- Substring (后缀数组 + 计数)
题意:求出字符串中包含了某个字符的字符序列不一样的数量. 思路:其实主要的是找出每个被包含字符的数量,假设除了目标字符之外的所有字符都不一样,那么应该就很好求了,但是显然不可能,所以我们可以枚举每一个 ...
- jQuery图片无缝轮播
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***
Spring AOP 有两种代理方法, 一种是常规JDK,一种是CGLIB. 当代理对象实现了至少一个接口时,默认使用JDK动态创建代理对象: 当代理对象没有实现任何接口时,就会使用CGLIB方法. ...
- WSDL文档结构图
- 获取JS数组中所有重复元素
//获取数组内所有重复元素,并以数组返回 //例:入参数组['1','2','4','7','1','2','2'] 返回数组:['1','2'] function GetRepeatFwxmmc(a ...
- MySQL插入去重命令_REPLACE INTO
以主键和unique索引为依据. INSERT INTO:表中不存在对应的记录,则插入:若存在对应的记录,则报错: INSERT IGNORE INTO:表中不存在对应的记录,则插入:若存在对应的记录 ...
- docker容器与大数据组件的冲突点
1.容器里面安装spark,外面的程序(安装spark主机的容器)会连接不上集群.理由:这个组件用的akka,连接上集群,会提示: akka.ErrorMonitor: dropping messag ...