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的Tornado框架实现数据可视化的教程
May 02 Python
利用Python自动监控网站并发送邮件告警的方法
Aug 24 Python
Python对象类型及其运算方法(详解)
Jul 05 Python
详解Python核心对象类型字符串
Feb 11 Python
Linux CentOS Python开发环境搭建教程
Nov 28 Python
python去重,一个由dict组成的list的去重示例
Jan 21 Python
Python获取数据库数据并保存在excel表格中的方法
Jun 12 Python
Python求均值,方差,标准差的实例
Jun 29 Python
matplotlib.pyplot画图并导出保存的实例
Dec 07 Python
Windows10+anacond+GPU+pytorch安装详细过程
Mar 24 Python
快速了解Python开发环境Spyder
Jun 29 Python
python程序如何进行保存
Jul 03 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
需要注意的几个PHP漏洞小结
2012/02/05 PHP
PHP将整个网站生成HTML纯静态网页的方法总结
2012/02/05 PHP
PHP文件上传之多文件上传的实现思路
2016/01/27 PHP
THINKPHP3.2使用soap连接webservice的解决方法
2017/12/13 PHP
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
js 操作符汇总
2014/11/08 Javascript
浅谈javascript 迭代方法
2015/01/21 Javascript
JQuery异步获取返回值中文乱码的解决方法
2015/01/29 Javascript
JavaScript常用脚本汇总(二)
2015/03/04 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
简单实现bootstrap选项卡效果
2017/02/08 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
[02:41]DOTA2英雄基础教程 谜团
2013/12/10 DOTA
python使用urlparse分析网址中域名的方法
2015/04/15 Python
python同时给两个收件人发送邮件的方法
2015/04/30 Python
Django实现快速分页的方法实例
2017/10/22 Python
python中文分词,使用结巴分词对python进行分词(实例讲解)
2017/11/14 Python
分析经典Python开发工程师面试题
2019/04/08 Python
Python简易计算器制作方法代码详解
2019/10/31 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
小型女装店的创业计划书
2014/01/09 职场文书
大学拉赞助协议书范文
2014/09/26 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
培训通知书模板
2015/04/17 职场文书
驳回起诉裁定书
2015/05/19 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
Python上下文管理器Content Manager
2021/06/26 Python
SQL之各种join小结详细讲解
2021/08/04 MySQL
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python