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对字典进行排序实例
Sep 25 Python
python实现封装得到virustotal扫描结果
Oct 05 Python
python如何查看系统网络流量的信息
Sep 12 Python
python实现随机调用一个浏览器打开网页
Apr 21 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
PyCharm搭建Spark开发环境的实现步骤
Sep 05 Python
Python使用scipy模块实现一维卷积运算示例
Sep 05 Python
python如何基于redis实现ip代理池
Jan 17 Python
python之生成多层json结构的实现
Feb 27 Python
django 数据库 get_or_create函数返回值是tuple的问题
May 15 Python
用python实现一个简单计算器(完整DEMO)
Oct 14 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 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中通过smtp发邮件的类,测试通过
2007/01/22 PHP
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
javascript的函数
2007/01/31 Javascript
JS的replace方法介绍
2012/10/20 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
jquery动态添加option示例
2013/12/30 Javascript
JavaScript中的函数重载深入理解
2014/08/04 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
常用的JavaScript模板引擎介绍
2015/02/28 Javascript
javascript判断复选框是否选中的方法
2015/10/16 Javascript
Bootstrap选项卡动态切换效果
2016/11/28 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
js每隔两秒输出数组中的一项(实例)
2017/05/28 Javascript
Vue自定义指令详解
2017/07/28 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
Python多线程编程简单介绍
2015/04/13 Python
基于python实现微信模板消息
2015/12/21 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
2016/10/09 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
Python实现定时精度可调节的定时器
2018/04/15 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
英国复古和经典球衣网站:Vintage Football Shirts
2018/10/05 全球购物
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
环境工程大学生个人的自我评价
2013/10/08 职场文书
工程建设实施方案
2014/03/14 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
单位实习鉴定评语
2015/01/04 职场文书
2015年老干部工作总结
2015/04/23 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
电影复兴之路观后感
2015/06/02 职场文书
社区志愿者服务心得体会
2016/01/22 职场文书
《夸父追日》教学反思
2016/02/20 职场文书
Nginx配置Https安全认证的实现
2021/05/26 Servers
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL