python数据类型_元组、字典常用操作方法(介绍)


Posted in Python onMay 30, 2017

元组

Python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号,列表使用方括号。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

tp=(1,2,3,'a','b')
a = 'hello world'  #这样定义是str类型
b = ('hello world') #定义元组时,如果只有一个元素,那么b的类型就是str
c = ('hello world',)
print(type(c))

元组只有count和index方法,如下:

tp = ('127.0.0.1', '3306', 'b', 'a', '3306', 1, 2, 3, 1, 44)
print(tp[0])       #也可以通过下标取值
print(tp.count('3306'))  #查找元素在元组中出现的次数
print(tp.index('a'))   #查找元素的索引位置

元组的强制类型转换:

lis = [1, 2, 3, 4, 5, 'b', 'c']
new_lis = tuple(lis) #将list强制类型转换为tuple
print(type(new_lis))

目前可以强制类型转换的函数有:int()、str()、float()、list()、tuple()

字典

字典是另一种可变容器模型,且可存储任意类型对象,字典存储的数据是无序的。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,字典中的key不可重复定义,格式如下所示:

d = {key1 : value1, key2 : value2 }

获取字典元素的方法,如下:

#字典,定义时key不能重复
info = {'name': 'xiaoming', 'sex': 'man', 'age': 20, 'id': 1}
#2种取值方法的区别:如果传入的key不存在,通过[]取值会报错;通过get取值返回None
print(info['name'])   #字典取值,通过key取出对应的value
print(info.get('name')) #也可以通过get方法获取,get(key)
print(info.get('addr', 'beijing')) #如果传入的key不存在,则返回传入的默认值:beijing; 不写的话,若获取不到的key,则返回None

添加字典元素,方法如下:

#添加元素
info['addr'] = 'beijing' #通过[key] = value方式可以添加元素,若key不存在,则新增
print(info)
info.setdefault('phone','13000000000') #也可以通过setdefault(key,value) 方法添加元素
print(info)

修改字典中的元素,方法如下:

info['id'] = 7 #若key存在,则修改该key对应的value;若key不存在,该方法则新增元素
print(info)

删除 字典中的元素,如下:

#删除
del info['addr'] #删除元素
info.pop('addr') #字典是无序的,传入需要删除的key, pop方法会返回删除的key对应的value
print(info)
#info.pop('kk') #如果删除的key不存在,则报错:KeyError: 'kk'
info.clear()   #清空字典
info.popitem()  #随机删除一个元素,用处不大

字典循环遍历元素,如下:

info = {'name': 'xiaoming', 'sex': 'man', 'age': 20, 'id': 1}
print(info.keys())  #获取该字典的所有key,执行结果:dict_keys(['name', 'age', 'sex', 'id'])
print(info.values()) #获取该字典的所有value,执行结果:dict_values(['xiaoming', 20, 'man', 1])
print(info.items()) #打印结果为所有的key、value,循环遍历时使用,执行结果:dict_items([('name', 'xiaoming'), ('age', 20), ('sex', 'man'), ('id', 1)])
#字典循环遍历
for k, v in info.items():
  print('key: %s value: %s' % (k, v))
执行结果:
key: age value: 20
key: sex value: man
key: name value: xiaoming
key: id value: 1

字典的update用法:

info = {'a': 'xiaoming', 'sex': 'man', 'age': 20, 'id': 1}
info2 = {'a':1,'b':2}
info.update(info2) #把两个字典合并成1个,如果有一样的key,则更新value,执行结果:{'sex': 'man', 'id': 1, 'b': 2, 'age': 20, 'a': 1}
print(info)

练习:定义一个字典,修改字典中的值,将color对应的yellow修改为green,如下:

all = {
  'car': {
    'color': ['red', 'yellow', 'black'],
    'money': 1111,
    'name': 'beijing'
  },
  'car1': {
    'id': [1, 2, 3],
    'money': 222,
    'name': 'shanghai'
  },
  'car2': {
    'city': ['beijing', 'shanghai', 'zhengzhou'],
    'money': 3333,
    'name': 'henan'
  }
}

代码如下:

car_value = all.get('car')      #返回值是字典,执行结果:{'name': 'beijing', 'color': ['red', 'yellow', 'black'], 'money': 1111}
print(car_value)
color_list = car_value.get('color') #返回结果是list,根据key找到对应的value,执行结果:['red', 'yellow', 'black']
print(color_list)
color_list_value = color_list[1]   #list根据下标取值,返回结果yellow
print(color_list_value)
color_list[1] = 'green'       #更改列表的值,将yellow更改为green
print(all.get('car'))        #执行结果:{'money': 1111, 'color': ['red', 'green', 'black'], 'name': 'beijing'}

以上这篇python数据类型_元组、字典常用操作方法(介绍)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
Python中生成器和yield语句的用法详解
Apr 17 Python
Python使用minidom读写xml的方法
Jun 03 Python
Python冲顶大会 快来答题!
Jan 17 Python
python实现搜索文本文件内容脚本
Jun 22 Python
Python中的相关分析correlation analysis的实现
Aug 29 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
如何基于python实现归一化处理
Jan 20 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
Mar 09 Python
python实现FTP文件传输的方法(服务器端和客户端)
Mar 20 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
Apr 20 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 Python
node.js获取参数的常用方法(总结)
May 29 #Python
老生常谈python函数参数的区别(必看篇)
May 29 #Python
Python进阶_关于命名空间与作用域(详解)
May 29 #Python
浅谈对yield的初步理解
May 29 #Python
python多进程和多线程究竟谁更快(详解)
May 29 #Python
python 3利用BeautifulSoup抓取div标签的方法示例
May 28 #Python
Python虚拟环境virtualenv的安装与使用详解
May 28 #Python
You might like
印尼林东PWN黄金曼特宁咖啡豆:怎么冲世界上最醇厚的咖啡冲煮教程
2021/03/03 冲泡冲煮
vBulletin HACK----关于排版的两个HACK
2006/10/09 PHP
PHP获取网卡地址的代码
2008/04/09 PHP
php 输出双引号"与单引号'的方法
2010/05/09 PHP
理解PHP中的Session及对Session有效期的控制
2016/01/08 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
网页图片延时加载的js代码
2010/04/22 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
javascript中的遍历for in 以及with的用法
2014/12/22 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
swiper 自动图片无限轮播实现代码
2018/05/21 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
JS跨域请求的问题解析
2018/12/03 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Python Mysql自动备份脚本
2008/07/14 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
scrapy爬虫完整实例
2018/01/25 Python
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
TensorFlow基于MNIST数据集实现车牌识别(初步演示版)
2019/08/05 Python
python实现ip地址查询经纬度定位详解
2019/08/30 Python
Python 解决相对路径问题:"No such file or directory"
2020/06/05 Python
Theflamel意大利:女士奢华服装、鞋子和配件
2020/01/11 全球购物
Java面试题及答案
2012/09/08 面试题
2014年应届大学生自我评价
2014/01/09 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
讲解员培训方案
2014/05/04 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
2021/06/22 Python