python基础一数据类型之字典
摘要:
python基础一数据类型之一字典,这篇主要讲字典。
1,定义字典
2,字典的基础知识
3,字典的方法
1,定义字典
1,定义1个空字典
dict1 = {}
2,定义字典
dict1 = dict(x=10,y=10)
3,将列表转换为字典
dict1 = dict([('a',10),('b',10)])
2,字典的基础知识
1,字典的key,value说明
dict1 = {'a':1,1:123} key是不可变的,所以key可以用元祖,但不然能用列表表示,另外字典是无序的且key是唯一的!
dict1 = {('a','b','c'):1,'name':'tom'}
这个是用列表表示key,这个是不可取的,会返回报错。
dict1 = {['a','b','c']:1,'name':'tom'}
获取字典中的值,通过key获取:
(dict1[('a', 'b', 'c')]
运行结果:1
更改字典中的值:
dict1[name] = 'tim'
2,将2个序列号化的数据类型转换为字典使用zip (序列化:字符串、列表、元祖、集合)
tuple1 = ('name','age')
tuple2 = ('tom','30')
dict1 = zip(tuple1,tuple2)
dict1 = dict(dict1)
3,字典的方法
1,clear() 清空字典
dict1 = {'name':'tom','age':'22'} dict1.clear() 运行结果:{}
2,copy() 复制字典
dict1 = {'name':'tom','age:'22'} dict2 = dict1.copy() print dic 运行结果:{'age': 22, 'name': 'tom'}
3,fromkeys 主要用于创建新的字典,value一样。
dict1 = dict.fromkeys('abc',100)
print dict1
运行结果:{'a': 100, 'b': 100, 'c': 100}
4,get 用户判断字典中是否拥有某个key,,如果有返回对于的value,则返回None。当然,如果没有对应的value,也可以指定返回的字符。
dict1 = {'name':'tom','age':'22'}
dict1.get('name') 运行结果:tom
dict1 = {'name':'tom','age','22'}
dict1.get('name1','no')
运行结果:no
5,has_key 判断字典中是否含有某个key,如果存在返回True,否则返回False.
dict1 = {'name':'tom','age':'22'}
dict1.has_key('name1')
运行结果:False
6,items 将字典作用的内容以列表的形式打印,一般用于将字典转换成列表。
dict1 = {'name':'tom','age':'22'}
print dict1.items()
运行结果:[('age', 22), ('name', 'tom')]
7,iteritems 获取所有的item,只是返回的是一个生成器。和itmes的区别在于item会将字典中内容一次性输出出来,而生成器是你用到哪个我就生成哪个。
dict1 = {'name':'tom','age':'22'}
for k,v in dict1.iteritmes():
print k,v
运行结果:age 22
name tom
8,iterkeys 获取所有的keys,是返回的是一个生成器。
dict1 = {'name':'tom','age':'22'}
for k in dict1.iterkeys():
print k
运行结果:name
age
9,itervalues 获取所有的values,是返回的是一个生成器。
dict1 = {'name':'tom','age':'22'}
for v in dict1.itervalues():
print v
运行结果:tom
22
10,keys 获取所有的keys.
dict1 = {'name':'tom','age':'22'}
print dict1.keys()
运行结果:['age', 'name']
11,pop 删除指定的key
dict1 = {'name':'tom','age':'22'}
dict1.pop('age')
print dict1
运行结果:{'name': 'tom'}
12,popitem 随机删除key
dict1 = {'name':'tom','age':'22'}
dict1.popitem()
print dict1
运行结果:{'name': 'tom'}
13,setdefault 如果字典中没有这个key,就设置这个Key和value,如果有,则使用默认的且返回对应的values。
dict1 = {'name':'tom','age':'22'}
dict1.setdefault('city','beijing')
print dict1
运行结果:{'age': '22', 'city': 'beijing', 'name': 'tom'}
14,update 更新字典,一般用于将2个字典合并为一个字典
dict1 = {'name':'tom','age':'22'}
dict2 = {'city':'beijing'}
dict1.update(dict2)
print dict1
运行结果 {'age': '22', 'city': 'beijing', 'name': 'tom'}
将2个字典合并为1个字典:dict3 = dict(dict1,**dict2)
15,values,查看所有的values
dict1 = {'name':'tom','age':'22'}
dict1.values()
运行结果:['22', 'tom']
python基础一数据类型之字典的更多相关文章
- Python基础——原生数据类型(字典,列表,元组,字符串)
字典Dictionary 字典定义了键值对的1对1管理. 1.定义字典 请看下面的栗子,我们先创建了一个具有两个元素的字典,每对都是key:value的形式. 我们能通过key得到value,但是不能 ...
- Python基础:1.数据类型(字典)
提示:python版本:2.7,windows系统 1.字典(Dictionary) 由Key-Value组成,一个Key只能对应一个Value >>> colors = {'red ...
- Python基础(3) - 数据类型:5字典类型
Python Dictionary 是 Python 的内置数据类型之一, 它定义了键和值之间一对一的关系 .它是用{}括起来的.每个Dictionary的项的句法为:key:value. Dicti ...
- Python基础之数据类型
Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...
- 第二章:python基础,数据类型
"""第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...
- Day2 - Python基础2 列表、字典、集合
Python之路,Day2 - Python基础2 本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一, ...
- 第一节 Python基础之数据类型(整型,布尔值,字符串)
数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...
- python基础(二)----数据类型
Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...
- Python学习day04 - Python基础(2)数据类型基础
<!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...
随机推荐
- Java多线程-Callable的Future返回值的使用
一般使用线程池执行任务都是调用的execute方法,这个方法定义在Executor接口中: public interface Executor { void execute(Runnable comm ...
- 全网最全的Windows下Python2 / Python3里正确下载安装用来向微信好友发送消息的itchat库(图文详解)
不多说,直接上干货! 建议,你用Anaconda2或Anaconda3. 见 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装用来向微信好友发送消息的itchat库( ...
- Spring Boot使用Shiro实现登录授权认证
1.Shiro是Apache下的一个开源项目,我们称之为Apache Shiro.它是一个很易用与Java项目的的安全框架,提供了认证.授权.加密.会话管理,与spring Security 一样都是 ...
- mysql-unsha1:在未知密码情况下,登录任意MYSQL数据库
摘要 这个POC用于在不知道明文密码的情况下对启用了密码安全认证插件(默认开启插件:mysql_native_password)的MYSQL数据库进行登录. 前提条件为: 1.为了获取到已知用户的ha ...
- slf4j 作用及logback概述
为什么要使用slf4j 现实场景: 我们自己的系统中使用了logback这个日志系统 我们的系统使用了A.jar,A.jar中使用的日志系统为log4j 我们的系统又使用了B.jar,B.jar中使用 ...
- Java NIO系列教程(二) Channel
Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道.但流的读写通常是单向的. 通道可以异步地读写. 通道中的数据总是要先读到一个Buffer,或者总是要从一个Bu ...
- 小程序获取地址授权的修改 wx.openSetting需点击
开发者可以通过 wx.openSetting 接口来打开小程序设置界面并返回用户的设置结果.在原来的 wx.openSetting 接口中,我们允许开发者直接调用此接口,但目前我们发现有不少开发者滥用 ...
- 常用的7个SQl优化技巧
作为程序员经常和数据库打交道的时候还是非常频繁的,掌握住一些Sql的优化技巧还是非常有必要的.下面列出一些常用的SQl优化技巧,感兴趣的朋友可以了解一下. 1.注意通配符中Like的使用 以下写法会造 ...
- ElasticSearch 使用小结
写在前面 要做个元数据服务,包括存储和查询.元数据除了一些基本字段外,其他格式是自由的,存储输入为一个JSON形式.比如下面是一个文件对象的元数据: { "name":" ...
- python学习之老男孩python全栈第九期_day008作业
1. 文件a.txt内容:每一行内容分别为商品名字,价钱,个数,求出本次购物花费的总钱数apple 10 3tesla 100000 1mac 3000 2lenovo 30000 3chicken ...