day12 Python字典
类:dict
#字典是无序的
1、前戏
info = {
"k1": "v1", # 键值对
"k2": "v2"
}
2、字典的value可以是任何值
info = {
"k1": 18,
"k2": True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
print(info)
结果:
{'k1': 18, 'k2': True, 'k3': [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}
3、 列表、字典不能作为字典的key,key值不能重复。
info ={
#1: 'asdf',
"k1": 'asjlkdf',
#True: "123",#True不能跟1同时作为key,重复的只显示一个因为1=True
#[11,22]: 123
(11,22): 123,
#{'k1':'v1'}: 123
}
print(info)
结果:
{'k1': 'asjlkdf', (11, 22): 123}
4、字典无序
5、索引方式找到指定元素
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
# v = info['k1']
# print(v)
# v = info[2]
# print(v)
v = info['k3'][5]['kk3'][0]
print(v)
结果:
11
6、字典支持del删除
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
del info['k1']
del info['k3'][5]['kk1']
print(info)
结果:
{2: True, 'k3': [11, [], (), 22, 33, {'kk2': 'vv2', 'kk3': (11, 22)}], 'k4': (11, 22, 33, 44)}
7、for循环
info = {
"k1": 18,
2: True,
"k3": [
11,
[],
(),
22,
33,
{
'kk1': 'vv1',
'kk2': 'vv2',
'kk3': (11,22),
}
],
"k4": (11,22,33,44)
}
#for循环健
for item in info。key:
print(item)
#结果
k1
2
k3
k4
#for循环值
for item in info.values():
print(item)
结果:
18
True
[11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
(11, 22, 33, 44)
#for循环键值
for k,v in info.items():
print(k,v)
结果:
k1 18
2 True
k3 [11, [], (), 22, 33, {'kk1': 'vv1', 'kk2': 'vv2', 'kk3': (11, 22)}]
k4 (11, 22, 33, 44)
方法:
1、根据序列,创建字典,并指定统一的值
v = dict.fromkeys(["k1",123,"999"],123)
print(v) 结果:
{'k1': 123, 123: 123, '999': 123}
2、根据Key获取值,key不存在,可以指定默认值None
dic = {
"k1":"v1"
}
v = dic.get('k1',None)
#根据Key获取值,key不存在时,可以指定默认值(None)
v1 = dic.get("k",None)
print(v)
print(v1)
结果:
v1
None
3、删除并获取值
dic = {
"k1": 'v1',
"k2": 'v2'
}
v = dic.pop('k1',None)
v1 = dic.pop('k11',None)
print(dic,v)
print(dic,v1)
结果:
{'k2': 'v2'} v1
{'k2': 'v2'} None
4、设置值
dic = {
"k1": 'v1',
"k2": 'v2'
}
v = dic.setdefault('k1111','123')
print(dic,v)
结果:
{'k1': 'v1', 'k2': 'v2', 'k1111': '123'} 123
# 已存在,不设置,获取当前key对应的值
# 不存在,设置,获取当前key对应的值
5、更新
dic = {
"k1": 'v1',
"k2": 'v2'
}
dic.update({'k1': '111111','k3': 123})
print(dic)
dic.update(k1=123,k3=345,k5="asdf")
print(dic)
结果:
{'k1': '111111', 'k2': 'v2', 'k3': 123}
{'k1': 123, 'k2': 'v2', 'k3': 345, 'k5': 'asdf'}
day12 Python字典的更多相关文章
- Python字典和集合
Python字典操作与遍历: 1.http://www.cnblogs.com/rubylouvre/archive/2011/06/19/2084739.html 2.http://5iqiong. ...
- python 字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- python字典中的元素类型
python字典默认的是string item={"browser " : 'webdriver.irefox()', 'url' : 'http://xxx.com'} 如果这样 ...
- python字典copy()方法
python 字典的copy()方法表面看就是深copy啊,明显独立 d = {'a':1, 'b':2} c = d.copy() print('d=%s c=%s' % (d, c)) Code1 ...
- python 字典实现类似c的switch case
#python 字典实现类似c的switch def print_hi(): print('hi') def print_hello(): print('hello') def print_goodb ...
- python字典的常用操作方法
Python字典是另一种可变容器模型(无序),且可存储任意类型对象,如字符串.数字.元组等其他容器模型.本文章主要介绍Python中字典(Dict)的详解操作方法,包含创建.访问.删除.其它操作等,需 ...
- Python 字典(Dictionary)操作详解
Python 字典(Dictionary)的详细操作方法. Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字 ...
- Python 字典(Dictionary) get()方法
描述 Python 字典(Dictionary) get() 函数返回指定键的值,如果值不在字典中返回默认值. 语法 get()方法语法: dict.get(key, default=None) 参数 ...
- Python 字典(Dictionary) setdefault()方法
描述 Python 字典(Dictionary) setdefault() 函数和get()方法类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值. 语法 setdefault()方法语法: ...
随机推荐
- MapReduce核心 - - - Shuffle
大数据名词(1) -Shuffle Shuffle过程是MapReduce的核心,也被称为奇迹发生的地方.要想理解MapReduce, Shuffle是必须要了解的.我看过很多相关的资料,但每 ...
- Java学习笔记之——类与对象
1.参数的传递方式 1)值传递 2)引用传递 2.类和对象: (1)类的定义: public class 类名{ 类型 属性1: 类型 属性2: ……… public 返回值类型 方法名1(形参){ ...
- Maven + SSM + Kaptcha 实现用户登录时验证码的获取(问题:302 Found)
pom.xml(对Kaptcha.jar的引用) <!-- 验证码 jar kaptcha--> <dependency> <groupId>com.github. ...
- java动态代理--一个简单的例子
这几天看视频看到了java的动态代理,这里写一个小例子.在写例子的时候发现:认为自己会了,和能写出来真不是一个概念.还是要多写代码,然后写博客再深入一些,费曼学习法--教,是最好的学. 1.什么是动态 ...
- js发送请求
1.Chrome控制台中 net::ERR_CONNECTION_REFUSED js频繁发送请求,有可能连接被拒绝,可用setTimeout,过几秒发送,给个缓冲时间 var overlayAnal ...
- 【工具相关】Web-将网站放在XAMPP上面
一,将XAMPP服务器打开--->Welcome--->Open Application Folder. 二,会出现如下所示界面.找到htdocs. 三,打开htdocs.如下图所示. 四 ...
- 爬虫 scrapy 笔记
scrapy 基础 1. 创建一个spider项目 a) Scrapy startproject project_name [project_dir] b) Cd p ...
- LyX使用中的一些问题
编译开始产生的检查错误 试用LyX2.3,在2.15中能编译通过的文档,竟然提示错误 The user preamble of your document contains glyphs that a ...
- Android基础之6.0系统以上的权限分配
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle saved ...
- aws linux主机root帐号登录
默认情况下,aws主机必须使用pem密码文件并且以ec2-user用户登录系统,之后很多操作都必须用sudo来以root权限执行操作,显得比较麻烦. 以下来自知乎的一个问答,亲测ok ## AWS E ...