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 相关文章推荐
Windows下Python使用Pandas模块操作Excel文件的教程
May 31 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
Python实现单词翻译功能
Jun 06 Python
Python编写Windows Service服务程序
Jan 04 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
pandas 空的dataframe 插入列名的示例
Oct 30 Python
对python中词典的values值的修改或新增KEY详解
Jan 20 Python
Python collections模块使用方法详解
Aug 28 Python
Python多线程获取返回值代码实例
Feb 17 Python
Python logging模块异步线程写日志实现过程解析
Jun 30 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 Python
python lambda的使用详解
Feb 26 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
德生PL990的分析评价
2021/03/02 无线电
php替换超长文本中的特殊字符的函数代码
2012/05/22 PHP
PHP实现的限制IP投票程序IP来源分析
2016/05/04 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
JS 添加网页桌面快捷方式的代码详细整理
2012/12/27 Javascript
js data日期初始化的5种方法
2013/12/29 Javascript
javascript浏览器窗口之间传递数据的方法
2015/01/20 Javascript
Bootstrap每天必学之媒体对象
2015/11/30 Javascript
React.js入门学习第一篇
2016/03/30 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
移动设备手势事件库Touch.js使用详解
2017/08/18 Javascript
删除table表格行的实例讲解
2017/09/21 Javascript
深入理解React高阶组件
2017/09/28 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
2018/09/21 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
javascript实现拖拽碰撞检测
2020/03/12 Javascript
Python实现命令行通讯录实例教程
2016/08/18 Python
python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
2017/02/14 Python
Python企业编码生成系统之系统主要函数设计详解
2019/07/26 Python
基于Django静态资源部署404的解决方法
2019/07/28 Python
python for循环remove同一个list过程解析
2019/08/14 Python
浅谈Pytorch torch.optim优化器个性化的使用
2020/02/20 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
销售自荐信
2013/10/22 职场文书
缓刑人员的思想汇报
2014/01/11 职场文书
高三高考决心书
2014/03/11 职场文书
小学校长竞聘演讲稿
2014/05/16 职场文书
企业文明单位申报材料
2014/05/16 职场文书
新教师个人总结
2015/02/06 职场文书
2015世界地球日活动总结
2015/02/09 职场文书
教师个人年终总结
2015/02/11 职场文书
民间借贷纠纷起诉书
2015/08/03 职场文书