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编写一个最基础的代码解释器的要点解析
Jul 12 Python
python 异常处理总结
Oct 18 Python
python实现的AES双向对称加密解密与用法分析
May 02 Python
python的numpy模块安装不成功简单解决方法总结
Dec 23 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
Apr 10 Python
PyQtGraph在pyqt中的应用及安装过程
Aug 04 Python
使用Windows批处理和WMI设置Python的环境变量方法
Aug 14 Python
wxpython布局的实现方法
Nov 01 Python
Python matplotlib以日期为x轴作图代码实例
Nov 22 Python
django创建超级用户时指定添加其它字段方式
May 14 Python
用python 绘制茎叶图和复合饼图
Feb 26 Python
python实现局部图像放大
Nov 17 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
用Flash图形化数据(一)
2006/10/09 PHP
PHP的分页功能
2007/03/21 PHP
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
WordPress开发中用于标题显示的相关函数使用解析
2016/01/07 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
javascript中的toFixed固定小数位数 简单实例分享
2013/07/12 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
2015/03/18 Javascript
理解javascript中的严格模式
2016/02/01 Javascript
理解javascript中的Function.prototype.bind的方法
2017/02/03 Javascript
vue mixins组件复用的几种方式(小结)
2017/09/06 Javascript
React-intl 实现多语言的示例代码
2017/11/03 Javascript
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
微信小程序实现红包雨功能
2018/07/11 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
javascript使用正则表达式实现注册登入校验
2020/09/23 Javascript
用python登录Dr.com思路以及代码分享
2014/06/25 Python
JSON Web Tokens的实现原理
2017/04/02 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
Python序列化pickle模块使用详解
2020/03/05 Python
python 三种方法提取pdf中的图片
2021/02/07 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
单位消防安全制度
2014/01/12 职场文书
建筑质检员岗位职责
2015/04/08 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
CSS3 实现的图片悬停的切换按钮
2021/04/13 HTML / CSS
golang判断key是否在map中的代码
2021/04/24 Golang
Python 中 Shutil 模块详情
2021/11/11 Python
电脑只能进入安全模式无法正常启动的解决办法
2022/04/08 数码科技