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中的JSON模块
Apr 08 Python
python实现从字典中删除元素的方法
May 04 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
Apr 19 Python
多个应用共存的Django配置方法
May 30 Python
python 实现求解字符串集的最长公共前缀方法
Jul 20 Python
Python实现的对本地host127.0.0.1主机进行扫描端口功能示例
Feb 15 Python
django框架自定义模板标签(template tag)操作示例
Jun 24 Python
详解python中各种文件打开模式
Jan 19 Python
python3中datetime库,time库以及pandas中的时间函数区别与详解
Apr 16 Python
在keras中对单一输入图像进行预测并返回预测结果操作
Jul 09 Python
python二维图制作的实例代码
Dec 03 Python
python基础之停用词过滤详解
Apr 21 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定义数组和使用示例(php数组的定义方法)
2014/03/29 PHP
动态样式类封装JS代码
2009/09/02 Javascript
javascript 拖放效果实现代码
2010/01/22 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
基于jQuery滑动杆实现购买日期选择效果
2015/09/15 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
JS操作JSON方法总结(推荐)
2016/06/14 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
详解微信小程序入门五: wxml文件引用、模版、生命周期
2017/01/20 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
你可能不知道的前端算法之文字避让(inMap)
2018/01/12 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
js代码实现轮播图
2020/05/04 Javascript
微信小程序实现电影App导航和轮播
2020/11/30 Javascript
python中正则表达式的使用方法
2018/02/25 Python
python实现学生信息管理系统
2020/04/05 Python
python set内置函数的具体使用
2019/07/02 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
python实现图像拼接
2020/03/05 Python
python 19个值得学习的编程技巧
2020/08/15 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
波兰最大的度假胜地和城市公寓租赁运营商:Sun & Snow
2018/10/18 全球购物
教师求职自荐书
2014/06/14 职场文书
2014年信贷员工作总结
2014/11/18 职场文书
关于学习的决心书
2015/02/05 职场文书
2015年学习部工作总结范文
2015/03/31 职场文书
工作时间证明
2015/06/15 职场文书
谁动了我的奶酪读书笔记
2015/06/30 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
在Windows Server 2012上安装 .NET Framework 3.5 所遇到的问题
2022/04/29 Servers