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实现检测服务器是否可以ping通的2种方法
Jan 01 Python
Python中将字典转换为XML以及相关的命名空间解析
Oct 15 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
python 同时运行多个程序的实例
Jan 07 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
谈一谈基于python的面向对象编程基础
May 21 Python
在django-xadmin中APScheduler的启动初始化实例
Nov 15 Python
Python Pickle 实现在同一个文件中序列化多个对象
Dec 30 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
Python类的继承super相关原理解析
Oct 22 Python
python中@property的作用和getter setter的解释
Dec 22 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性能优化的介绍
2013/06/20 PHP
php中删除数组的第一个元素和最后一个元素的函数
2015/03/07 PHP
初窥JQuery-Jquery简介 入门了解篇
2010/11/25 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
js通过更改按钮的显示样式实现按钮的滑动效果
2014/04/23 Javascript
详解AngularJS中自定义指令的使用
2015/06/17 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
jQuery实现的页面详情展开收起功能示例
2018/06/11 jQuery
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
JavaScript中的"=、==、==="区别讲解
2019/01/22 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
Python批量更改文件名的实现方法
2017/10/29 Python
详解python中的线程
2018/02/10 Python
python爬取哈尔滨天气信息
2018/07/14 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
浅谈HTML5新增及移除的元素
2016/06/27 HTML / CSS
《长相思》听课反思
2014/04/10 职场文书
扬尘污染防治方案
2014/06/15 职场文书
乡镇党员干部群众路线对照检查材料思想汇报
2014/09/28 职场文书
公民授权委托书
2014/10/15 职场文书
英文感谢信范文
2015/01/21 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
2015年秘书个人工作总结
2015/04/25 职场文书
甲午风云观后感
2015/06/02 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
详解Python requests模块
2021/06/21 Python