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 threading多线程编程实例
Sep 18 Python
Python实现telnet服务器的方法
Jul 10 Python
tensorflow中next_batch的具体使用
Feb 02 Python
python中字符串比较使用is、==和cmp()总结
Mar 18 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
Python 实现还原已撤回的微信消息
Jun 18 Python
python tkinter组件摆放方式详解
Sep 16 Python
Python 面向对象部分知识点小结
Mar 09 Python
python基于exchange函数发送邮件过程详解
Nov 06 Python
举例讲解Python装饰器
Dec 24 Python
Python&Matlab实现樱花的绘制
Apr 07 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
Snoopy类使用小例子
2008/04/15 PHP
最常用的8款PHP调试工具
2014/07/06 PHP
php使用pdo连接并查询sql数据库的方法
2014/12/24 PHP
php的debug相关函数用法示例
2016/07/11 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
Javascript中的Array数组对象详谈
2014/03/03 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
javascript获取本机操作系统类型的方法
2015/08/13 Javascript
jquery实现简易的移动端验证表单
2015/11/08 Javascript
javascript基础语法——全面理解变量和标识符
2016/06/02 Javascript
JavaScript运动框架 多物体任意值运动(三)
2017/05/17 Javascript
Angular4学习笔记之准备和环境搭建项目
2017/08/01 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
js实现掷骰子小游戏
2019/10/24 Javascript
python局域网ip扫描示例分享
2014/04/03 Python
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
Python图像处理之图像的读取、显示与保存操作【测试可用】
2019/01/04 Python
Python threading的使用方法解析
2019/08/28 Python
django中使用事务及接入支付宝支付功能
2019/09/15 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
python 模拟登陆github的示例
2020/12/04 Python
英国购买威士忌网站:Master of Malt
2019/09/26 全球购物
汇科协同Java笔试题
2012/03/31 面试题
建筑施工实习自我鉴定
2013/09/19 职场文书
法律七进实施方案
2014/03/15 职场文书
《穷人》教学反思
2014/04/08 职场文书
导游个人求职信
2014/04/25 职场文书
单位工作证明范文
2014/09/14 职场文书
个人查摆问题整改措施
2014/10/04 职场文书
不同意离婚答辩状
2015/05/22 职场文书
在HTML中引入CSS的几种方式介绍
2021/12/06 HTML / CSS
你知道Java Spring的两种事务吗
2022/03/16 Java/Android