dict-字典功能介绍
叨逼叨:
#字典 可变类型 意思就是修改的是自己本身
#可变类型,当修改后,内存里的值也会对应着修改
#不可变类型,当修改后,会在内存里开启一块新的空间,放新的值 #1.清空
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# name.clear()
# print(name)
举例
def clear(self): # real signature unknown; restored from __doc__
""" D.clear() -> None. Remove all items from D. """
pass
clear
#2.拷贝复制 浅拷贝
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# v = name.copy()
# print(v)
# print(name)
举例
def copy(self): # real signature unknown; restored from __doc__
""" D.copy() -> a shallow copy of D """
pass
copy
#3.根据key 取value的值
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# v = name.get('name') #这个方式以后会常用 没有取值不报错
# v1 = name['name'] #没有取到 会报错
# print(v)
# print(v1)
举例
def get(self, k, d=None): # real signature unknown; restored from __doc__
""" D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None. """
pass
get
#4.取出key和value
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# v = name.items()
# print(v)
# #打印结果:
# #dict_items([('name', 'alex'), ('age', 23), ('gender', '女')])
# for item in name.items():
# print(item)
# #打印结果
# # ('name', 'alex')
# # ('age', 23)
# # ('gender', '女')
# for key,value in name.items():
# print(key,value)
# #打印结果
# #name alex
# #age 23
# #gender
举例
def items(self): # real signature unknown; restored from __doc__
""" D.items() -> a set-like object providing a view on D's items """
pass
items
#5.单独取出key
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# v = name.keys()
# print(v)
# #打印结果
# #dict_keys(['name', 'age', 'gender'])
# for i in name.keys():
# print(i)
# #打印结果
# #name
# #age
# #gender
举例
def keys(self): # real signature unknown; restored from __doc__
""" D.keys() -> a set-like object providing a view on D's keys """
pass
keys
#6.单独取出value
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# v = name.values()
# print(v)
# for i in name.values():
# print(i)
# #打印结果分别如下
# # dict_values(['alex', 23, '女'])
# # alex
# # 23
# # 女
举例
def values(self): # real signature unknown; restored from __doc__
""" D.values() -> an object providing a view on D's values """
pass
values
#7.删除并获取对应的value值
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# v = name.pop('name')
# print(v)
# print(name)
#还可以这么删除
# v = {
# 'name':'alex',
# 'password':'123',
# 'gender':'girl'
# }
# del v['name']
# print(v)
举例
def pop(self, k, d=None): # real signature unknown; restored from __doc__
"""
D.pop(k[,d]) -> v, remove specified key and return the corresponding value.
If key is not found, d is returned if given, otherwise KeyError is raised
"""
pass
pop
#8.随机删除键值对,并获取到删除的键值对
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# v = name.popitem()
# print(v)
# print(name)
举例
def popitem(self): # real signature unknown; restored from __doc__
"""
D.popitem() -> (k, v), remove and return some (key, value) pair as a
2-tuple; but raise KeyError if D is empty.
"""
pass
popitem
#9.增加,如果存在,不做操作
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# #name.setdefault('name','alex')
# name.setdefault('love','none')
# print(name)
举例
def setdefault(self, k, d=None): # real signature unknown; restored from __doc__
""" D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D """
pass
setdefault
#10.批量增加或修改
# name = {
# 'name':'alex',
# 'age':23,
# 'gender':'女'
# }
# v = {
# 'k1':'v1',
# 'k2':'v2'
# }
# #name.update({'love':'none','aihao':'sleep'})
# name.update(v)
# print(name)
举例
def update(self, E=None, **F): # known special case of dict.update
"""
D.update([E, ]**F) -> None. Update D from dict/iterable E and F.
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k]
If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v
In either case, this is followed by: for k in F: D[k] = F[k]
"""
pass
update
#11.接受一个可循环的东西,创建字典
#@staticmethod 脑袋上顶了这个的,就比较特殊,要使用dict.调用 静态方法
# dic = dict.fromkeys(['k1','k2','k3'],123)
# print(dic)
# #打印结果
# #{'k1': 123, 'k2': 123, 'k3': 123}#创建了一个字典,value都一样,也只能一样
# dic['k1'] = 'alex'
# print(dic)
# #打印结果
# #{'k1': 'alex', 'k2': 123, 'k3': 123}
#
# dic1 = dict.fromkeys(['k1','k2','k3'],[1,])
# print(dic1)
# #打印结果
# #{'k1': [1], 'k2': [1], 'k3': [1]}
# dic1['k1'].append('222')
# print(dic1)
# #打印结果
# #{'k1': [1, '222'], 'k2': [1, '222'], 'k3': [1, '222']}
# dic1['k1'].remove('222')
# print(dic1)
# #打印结果
# #{'k1': [1], 'k2': [1], 'k3': [1]}
举例
# #观察打印结果,配合着下图理解

@staticmethod # known case
def fromkeys(*args, **kwargs): # real signature unknown
""" Returns a new dict with keys from iterable and values equal to value. """
pass
fromkeys
#12.相互嵌套
# students_info = {
# '张三': '好学生',
# '李四': {'English_name': 'lisi', 'age': 28, 'gender': 'boy'},
# '王五': {'alse': 'wangwu', 'age': 52, '后宫': ['甄嬛', '华妃', '皇后']}
# }
# print(students_info)
#相互嵌套的添加内容
# 把列表和字典单独的基本操作熟练了,这个混合的就好处理些
# students_info = {
# '张三': '好学生',
# '李四': {'English_name': 'lisi', 'age': 28, 'gender': 'boy'},
# '王五': {'alse': 'wangwu', 'age': 52, '后宫': ['甄嬛', '华妃', '皇后']},
# '赵六': ['alex', 'eric', ['a', 'b', 'c'], '李杰', {'k11': 'vv1'}],
# }
# 增加
#students_info['赵六'][2].append('d')
# print(students_info)
# 修改
# students_info['赵六'][4]['age'] = '我没有年龄'
# print(students_info)
#实例:
# user_list = [
# {'name': 'alex', 'password': '123'},
# {'name': 'blex', 'password': '123'},
# {'name': 'clex', 'password': '123'}
# ]
# print(user_list)
# user = input('用户名:')
# pwd = input('密码:')
# for item in user_list:
# if user == item['name'] and pwd == item['password']:
# print('登录成功!')
# break
# else:
# print("滚!!!")
举例
##13.额外重点
#字典的key
# 1.是不可变类型 元组是不可变类型 元组里套列表就不行了,列表是可变类型
# 2. TRUE和1 可以做key 但是每次选其一 否则会重复
# dic = {
# 'k1': 'v1',
# 'k2': [1,2,3,],
# (1,2): 'lllll',
# 1: 'fffffffff',
# 111: 'asdf',
# }
# print(dic)
举例
dict-字典功能介绍的更多相关文章
- Python中dict的功能介绍
Dict的功能介绍 1. 字典的两种函数(方法) 1. 字典的内置函数 包含关系 格式:x.__contains__(key)等同于key in x 例如:dic = {'ab':23,'cd':34 ...
- python中列表、元组、字典内部功能介绍
一.列表(list) 常用功能的介绍:
- Python中str字符串的功能介绍
Str字符串的功能介绍 1. 字符串的操作 字符串的连接操作 符号: + 格式:str1 + str2 例如:str1 = 'I Love' str2 = 'You!' print(str1 + st ...
- Python中模块之sys的功能介绍
sys模块的功能介绍 1. sys的变量 argv 命令行参数 方法:sys.argv 返回值:list 例如:test1.py文件中有两句语句1.import sys 2.print(sys.arg ...
- Python中模块之copy的功能介绍
模块之copy的功能介绍 copy主要分两种: 1.浅拷贝 2.深拷贝 赋值: 在python中赋值算特殊的拷贝,其实赋值可以理解为同一个对象有两个名字,所以当其中一个发生变化,另一个也跟着会变化. ...
- Python中模块之re的功能介绍
re模块的功能介绍 1. 方法 match 从开头开始查找 方法:re.match(pattern,string,flags=0) 返回值:<class '_sre.SRE_Match'> ...
- Python中模块之os的功能介绍
Python中模块之os的功能介绍 1. os的变量 path 模块路径 方法:os.path 返回值:module 例如:print(os.path) >>> <module ...
- Python中生成器和迭代器的功能介绍
生成器和迭代器的功能介绍 1. 生成器(generator) 1. 赋值生成器 1. 创建 方法:x = (variable for variable in iterable) 例如:x = (i f ...
- Python中def及lambda的功能介绍
函数def及lambda的功能介绍 1. def函数的功能介绍 1. 函数的参数 无参数函数 格式:def func_name(): '''__doc__'''#函数的说明文档(内容) express ...
- Python中set的功能介绍
Set的功能介绍 1.集合的两种函数(方法) 1. 集合的内置函数 交集 格式:x.__and__(y)等同于x&y 例如:s1 = {'a',1,} s2 = {'b',1,} s3 = { ...
随机推荐
- 数据挖掘应用案例:RFM模型分析与客户细分(转)
正好刚帮某电信行业完成一个数据挖掘工作,其中的RFM模型还是有一定代表性,就再把数据挖掘RFM模型的建模思路细节与大家分享一下吧!手机充值业务是一项主要电信业务形式,客户的充值行为记录正好满足RFM模 ...
- [netty源码分析]3 eventLoop 实现类SingleThreadEventLoop职责与实现
eventLoop是基于事件系统机制,主要技术由线程池同队列组成,是由生产/消费者模型设计,那么先搞清楚谁是生产者,消费者内容 SingleThreadEventLoop 实现 public abst ...
- 【2017-05-30】WebForm文件上传
用 FileUpload控件进行上传文件. <asp:FileUpload ID="FileUpload1" runat="server" /> ...
- 【 js 基础 】【 源码学习 】源码设计 (持续更新)
学习源码,除了学习对一些方法的更加聪明的代码实现,同时也要学习源码的设计,把握整体的架构.(推荐对源码有一定熟悉了之后,再看这篇文章) 目录结构:第一部分:zepto 设计分析第二部分:undersc ...
- Java常用类之【Math类、Random类、System类、Runtime类】
一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...
- Xamarin App文件(apk)大小和启动时间的影响因素
Xamarin开发的时候大家都有一个疑问,就是apk文件会不会特别的大,启动会不会很慢.答案是肯定的,文件肯定大,启动肯定会慢,但是具体大多少.具体慢多少,有什么因素可以使apk文件稍微小一点.可以使 ...
- 编写原生JS的insertAfter函数
DOM里有insertBefore函数,但没有insertAfter函数,所以自己编写一个该函数: function insertAfter(newElement, targetElement){ v ...
- SICP-1.4-函数设计
何为好的函数 每个函数只完成一个工作 不要做重复工作 如果你多次复制一段代码块,说明你应该进行函数抽象了 定义一般化函数 避免特例化 函数说明 一般通过三引号说明 help调出函数说明 避免过多的参数 ...
- CSS中可以通过哪些属性定义,使得一个DOM元素不显示在浏览器可视范围内?
最基本的: 设置display属性为none,或者设置visibility属性为hidden 技巧性: 设置宽高为0,设置透明度为0,设置z-index位置在-1000
- JAVA 23种开发模式详解(代码举例)
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...