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中global与nonlocal比较
Nov 21 Python
python用来获得图片exif信息的库实例分析
Mar 16 Python
举例讲解Python设计模式编程中的访问者与观察者模式
Jan 26 Python
python Web开发你要理解的WSGI & uwsgi详解
Aug 01 Python
Python连接Redis的基本配置方法
Sep 13 Python
Python实现随机创建电话号码的方法示例
Dec 07 Python
python3用PIL把图片转换为RGB图片的实例
Jul 04 Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
Aug 24 Python
深入了解NumPy 高级索引
Jul 24 Python
Python matplotlib多个子图绘制整合
Apr 13 Python
python APScheduler执行定时任务介绍
Apr 19 Python
python 学习GCN图卷积神经网络
May 11 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制作静态网站的模板框架(三)
2006/10/09 PHP
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
为PHP初学者的8点有效建议
2010/11/20 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
JQuery select控件的相关操作实现代码
2012/09/14 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
JS实现的生成随机数的4个函数分享
2015/02/11 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
基于JavaScript实现的插入排序算法分析
2017/04/14 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
vue 地图可视化 maptalks 篇实例代码详解
2019/05/21 Javascript
VUEX-action可以修改state吗
2019/11/19 Javascript
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
便捷提取python导入包的属性方法
2018/10/15 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
使用Python爬虫爬取小红书完完整整的全过程
2021/01/19 Python
介绍一下Java中的Class类
2015/04/10 面试题
医学生职业规划范文
2014/01/05 职场文书
会计员岗位职责
2014/03/15 职场文书
父母寄语大全
2014/04/12 职场文书
幼儿园教师的考核评语
2014/04/18 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
办公经费申请报告
2015/05/15 职场文书
地道战观后感300字
2015/06/04 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
体育委员竞选稿
2015/11/21 职场文书
java executor包参数处理功能 
2022/02/15 Java/Android