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实现基于权重的随机数2种方法
Apr 28 Python
Django与遗留的数据库整合的方法指南
Jul 24 Python
Python黑帽编程 3.4 跨越VLAN详解
Sep 28 Python
Python实现简单http服务器
Apr 12 Python
Django 使用logging打印日志的实例
Apr 28 Python
python 编写简单网页服务器的实例
Jun 01 Python
Python3多进程 multiprocessing 模块实例详解
Jun 11 Python
判断python字典中key是否存在的两种方法
Aug 10 Python
Python 实现两个列表里元素对应相乘的方法
Nov 14 Python
python numpy之np.random的随机数函数使用介绍
Oct 06 Python
基于python实现模拟数据结构模型
Jun 12 Python
Python获取excel内容及相关操作代码实例
Aug 10 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下使用无限生命期Session的方法
2007/03/16 PHP
PHP字符串的递增和递减示例介绍
2014/02/11 PHP
js 创建书签小工具之理论
2011/02/25 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
2013/02/05 Javascript
在firefox和Chrome下关闭浏览器窗口无效的解决方法
2014/01/16 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
javascript模块化简单解析
2016/04/07 Javascript
详解JavaScript设计模式开发中的桥接模式使用
2016/05/18 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
微信JSAPI Ticket接口签名详解
2020/06/28 Javascript
Vue.js实现输入框绑定的实例代码
2017/08/24 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
[04:22]DOTA2大事件之护国神翼
2020/08/14 DOTA
[29:59]完美世界DOTA2联赛PWL S3 Forest vs access 第二场 12.11
2020/12/13 DOTA
python进程类subprocess的一些操作方法例子
2014/11/22 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
对python中list的拷贝与numpy的array的拷贝详解
2019/01/29 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
2019/07/15 Python
python使用pygame实现笑脸乒乓球弹珠球游戏
2019/11/25 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
2020/02/28 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
详解python程序中的多任务
2020/09/16 Python
Python基于tkinter canvas实现图片裁剪功能
2020/11/05 Python
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
出纳试用期自我鉴定范文
2014/09/16 职场文书
人身意外保险授权委托书
2014/10/01 职场文书
起诉意见书范文
2015/05/19 职场文书
初中同学会致辞
2015/08/01 职场文书
门卫管理制度范本
2015/08/05 职场文书
员工给公司的建议书
2019/06/24 职场文书
大学生奶茶店创业计划书
2019/06/25 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python