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中的元类(metaclass)
Feb 14 Python
python使用装饰器和线程限制函数执行时间的方法
Apr 18 Python
python使用Tkinter显示网络图片的方法
Apr 24 Python
在IIS服务器上以CGI方式运行Python脚本的教程
Apr 25 Python
tensorflow学习笔记之mnist的卷积神经网络实例
Apr 15 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
Django中reverse反转并且传递参数的方法
Aug 06 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
python scipy卷积运算的实现方法
Sep 16 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
python实现Thrift服务端的方法
Apr 20 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
域名和cookie问题(域名后缀)
2012/10/10 PHP
PHP函数import_request_variables()用法分析
2016/04/02 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
PHP文件后缀不强制为.php方法
2019/03/31 PHP
javascript &&和||运算法的另类使用技巧
2009/11/28 Javascript
javascript错误的认识不用关心内存管理
2012/12/15 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
删除javascript所创建子节点的方法
2015/05/21 Javascript
老生常谈javascript变量的命名规范和注释
2016/09/29 Javascript
Javascript 普通函数和构造函数的区别
2016/11/05 Javascript
node学习记录之搭建web服务器教程
2017/02/16 Javascript
深入研究jQuery图片懒加载 lazyload.js使用方法
2017/08/16 jQuery
vue swipe自定义组件实现轮播效果
2019/07/03 Javascript
javascript递归函数定义和用法示例分析
2020/07/22 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
Python  连接字符串(join %)
2008/09/06 Python
Python的ORM框架SQLObject入门实例
2014/04/28 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
GitHub 热门:Python 算法大全,Star 超过 2 万
2019/04/29 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
python实现梯度下降法
2020/03/24 Python
keras中的backend.clip用法
2020/05/22 Python
细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
2014/07/21 HTML / CSS
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
给男朋友的道歉信
2014/01/12 职场文书
学校门卫岗位职责
2014/03/16 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
走进敬老院活动总结
2014/07/10 职场文书
统计学教授推荐信
2014/09/18 职场文书
2015年三年级班主任工作总结
2015/05/21 职场文书
Pyhton爬虫知识之正则表达式详解
2022/04/01 Python
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL