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 相关文章推荐
Django imgareaselect手动剪切头像实现方法
May 26 Python
通过python顺序修改文件名字的方法
Jul 11 Python
pytorch对可变长度序列的处理方法详解
Dec 08 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 Python
使用Python实现将list中的每一项的首字母大写
Jun 11 Python
python爬虫之自制英汉字典
Jun 24 Python
python实现函数极小值
Jul 10 Python
深入浅析Python 中的sklearn模型选择
Oct 12 Python
python+Django+pycharm+mysql 搭建首个web项目详解
Nov 29 Python
使用python实现多维数据降维操作
Feb 24 Python
Python getsizeof()和getsize()区分详解
Nov 20 Python
详解python中的异常和文件读写
Jan 03 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
10个可以简化php开发过程的MySQL工具
2010/04/11 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
PHP+MYSQL中文乱码问题
2015/07/01 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
2017/06/07 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
ExtJS Store的数据访问与更新问题
2010/04/28 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
在JavaScript中判断整型的N种方法示例介绍
2014/06/18 Javascript
对Web开发中前端框架与前端类库的一些思考
2015/03/27 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
AngularJS基础 ng-list 指令详解及示例代码
2016/08/02 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
element-ui tooltip修改背景颜色和箭头颜色的实现
2019/12/16 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
简单介绍Ruby中的CGI编程
2015/04/10 Python
python下10个简单实例代码
2017/11/15 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
使用Tkinter制作信息提示框
2020/02/18 Python
python实现随机加减法生成器
2020/02/24 Python
查看keras的默认backend实现方式
2020/06/19 Python
使用CSS3实现字体颜色渐变的实现
2020/08/10 HTML / CSS
HTML5新增的表单元素和属性实例解析
2014/07/07 HTML / CSS
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
优秀村官事迹材料
2014/01/10 职场文书
学校党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
2014年学校法制宣传日活动总结
2014/11/01 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
求职导师推荐信范文
2015/03/27 职场文书
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python