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 相关文章推荐
python3生成随机数实例
Oct 20 Python
VSCode下好用的Python插件及配置
Apr 06 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
Jul 18 Python
python3.5绘制随机漫步图
Aug 27 Python
python实现梯度下降算法
Mar 24 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
Django 大文件下载实现过程解析
Aug 01 Python
python图形开发GUI库pyqt5的基本使用方法详解
Feb 14 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
如何对python的字典进行排序
Jun 19 Python
python实现简单区块链结构
Apr 25 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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实现的漂亮分页方法
2014/04/17 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
爱恋千雪-US-AscII加密解密工具(网页加密)下载
2007/06/06 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
利用js(jquery)操作Cookie的方法说明
2013/12/19 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
60个很实用的jQuery代码开发技巧收集
2014/12/15 Javascript
angularJS结合canvas画图例子
2015/02/09 Javascript
JavaScript中扩展Array contains方法实例
2020/08/23 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
AngularJS页面访问时出现页面闪烁问题的解决
2016/03/06 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
js 获取范围内的随机数实例代码
2016/08/02 Javascript
React Native模块之Permissions权限申请的实例相机
2017/09/28 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
2021/02/16 Python
联想台湾官网:Lenovo TW
2018/05/09 全球购物
销售总监岗位职责
2014/01/04 职场文书
九月份红领巾广播稿
2014/01/22 职场文书
2015年中个人总结范文
2015/03/10 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
授权协议书范本(3篇)
2019/10/15 职场文书
Python基础之tkinter图形化界面学习
2021/04/29 Python
详解Java实现数据结构之并查集
2021/06/23 Java/Android