内置数据类型之字典,列表,元祖
来源:互联网 发布:苹果电脑mac开机密码 编辑:程序博客网 时间:2024/06/05 04:39
一.字典
1.创建字典
定义了键和值之间一对一的关系
>>> d={'apple':'sweet','orange':'acid'}>>> d{'apple': 'sweet', 'orange': 'acid'}>>> d['apple']'sweet'>>> d['orange']'acid'
>>> d['sweet']Traceback (most recent call last): File "<pyshell#40>", line 1, in <module> d['sweet']KeyError: 'sweet'
创建了新的字典,有两个元素,将其赋给变量d,每个元素都是一个键值对,整个元素集合用大括号括起来。
通过key来引用其值,但不能通过value获取key,所以d['sweet']会引发一个异常。
2.修改字典
>>> d['banana']='nice'>>> d{'apple': 'sweet', 'orange': 'yellow', 'banana': 'nice'}
>>> d['apple']='sweet'>>> d{'apple': 'sweet', 'orange': 'yellow', 'banana': 'nice'}在任何时候都可以加入新的键值对。
在一个字典中不能有重复的key,给一个存在的key赋值会覆盖原有的值。
字典是无序的
字典的key是大小写敏感的。
>>> d={}>>> d['key']='value'>>> d['key']='second value'>>> d{'key': 'second value'}>>> d['Key']='third value'>>> d{'key': 'second value', 'Key': 'third value'}字典的值可以是任意数据类型。包括字符串,整数,对象,甚至其他字典。字典的值可以根据需要混用和匹配。
字典的key则比较严格,可以是字符串,整数或其他几种类型,也可以一个字典中混用和匹配key的数据类型
3.删除字典
del允许使用key从一个字典中删除独立的元素
clear从一个字典中清除所有元素。
>>> d{'key': 'second value', 'apple': 3, 'Key': 'third value'}>>> del d['key']>>> d{'apple': 3, 'Key': 'third value'}>>> d.clear()>>> d{}
二,列表介绍
1.定义List
>>> alist=[1,'a',2.4,'world','hello']>>> alist[1, 'a', 2.4, 'world', 'hello']>>> alist[0]1>>> alist[-1]'hello'List是一个用方括号括起来的有序元素集合。
List可以作为以0为下标开始的数组,任何一个非空list的第一个元素总是li[0],最后一个元素总是li[-1]
2,list切片
>>> alist[2:4][2.4, 'world']可以通过指定2个索引得到list的子集,叫做一个"slice",返回值是一个新的list。
3.向list中增加元素
>>> alist[1, 'a', 2.4, 'world', 'hello']>>> alist.append('new')>>> alist[1, 'a', 2.4, 'world', 'hello', 'new']>>> alist.insert(2,'second')>>> alist[1, 'a', 'second', 2.4, 'world', 'hello', 'new']>>> alist.extend(['two','elements'])>>> alist[1, 'a', 'second', 2.4, 'world', 'hello', 'new', 'two', 'elements']
append向list末尾追加单个元素
insert将单个元素插入指定位置的list中,list中的元素不必唯一。
extend用来连接list。使用一个list参数进行调用。
#extend(扩展)和append(追加)的差别
extend接收一个参数,这个参数总是一个list,并把这个list中的每个元素添加到元list中。
append接收一个参数,这个参数可以是任何数据类型,并且简单的追加到list的尾部。
>>> li=['a','b','c']>>> li.extend(['d','e','f'])>>> li['a', 'b', 'c', 'd', 'e', 'f']>>> ali=['a','b','c']>>> ali.append(['d','e','f'])>>> ali['a', 'b', 'c', ['d', 'e', 'f']]
4.搜索list
index在list中查找一个值的首次出现并返回索引值。
如果没有找到值会引发一个异常。
要测试一个值是否在list内,使用in。返回一个布尔值
>>> ali.index('a')0>>> ali.index('e')Traceback (most recent call last): File "<pyshell#70>", line 1, in <module> ali.index('e')ValueError: 'e' is not in list>>> 'e' in aliFalse
Python中的false和true
0为false
空串("")为false
空list([])为false
空tuple(())为false
空字典({})为false
其他为true
5.从list中删除元素(remove)
>>> ali.remove('b')>>> ali['a', 'c', ['d', 'e', 'f']]>>> ali.remove('e')Traceback (most recent call last): File "<pyshell#74>", line 1, in <module> ali.remove('e')ValueError: list.remove(x): x not in list>>> ali.pop()['d', 'e', 'f']>>> aliremove从list中删除一个值的首次出现,若没有找到值,则引发异常。
pop做两件事,删除list最后一个元素,然后返回删除的值。
6.list运算符
>>> ali+li['a', 'c', 'a', 'b', 'c', 'd', 'e', 'f']>>> li['a', 'b', 'c', 'd', 'e', 'f']>>> ali*3['a', 'c', 'a', 'c', 'a', 'c']>>> ali+=['two']>>> ali['a', 'c', 'two']
三,tuple
1.tuple没有方法
>>> atu('a', 'b', 'c')>>> atu.append('d')Traceback (most recent call last): File "<pyshell#84>", line 1, in <module> atu.append('d')AttributeError: 'tuple' object has no attribute 'append'>>> atu.remove('a')Traceback (most recent call last): File "<pyshell#85>", line 1, in <module> atu.remove('a')AttributeError: 'tuple' object has no attribute 'remove'>>> atu.index('b')1>>> atu.insert(2,'two')Traceback (most recent call last): File "<pyshell#87>", line 1, in <module> atu.insert(2,'two')AttributeError: 'tuple' object has no attribute 'insert'不能向tuple增加元素
不能从tuple删除元素
不能向tuple插入元素
可以查找tuple元素索引
可使用in查看元素是否在tuple中。
tuple的好处:
比list操作速度快
可以是代码更安全
可以在字典中被用作key,而list不行。只有字符串,整数或其他内容不变的tuple才可以被用作字典的key
tuple可以用在格式化字符串中
2.tuple可以转换成list,反之亦然。
- 内置数据类型之字典,列表,元祖
- 20161011 Python 读书笔记之 列表、元祖、字典
- Python之列表,元祖和字典
- python中的列表,元祖,字典,等基本数据类型的操作
- python之列表、元祖、集合、字典基础篇
- python自练小程序之(字典,列表,元祖)
- python 元祖,列表,字典 初识
- Python中的列表、元祖、字典
- Python字符串,元祖,列表,字典
- 字符串,列表,字典,元祖,集合
- 列表、元祖、字典、集合详解
- NO.6 列表,元祖,字典
- 兄弟连学python(4)——列表、元祖、字典、集合数据类型介绍
- Python列表,元祖及字典的区别
- Python元祖,列表,字典,集合的比较
- Python元祖,列表,字典,集合的比较
- python中元祖,列表,字典的区别
- python的元祖。字典,列表的区别
- 取石子(一)
- lintcode&九章算法——No.50 数组剔除元素后的乘积 ? 待解决
- 33.Struts-动态访问国际化资源(国家/语言切换)
- 669. Trim a Binary Search Tree
- jfinal 启动 Netty 阻塞问题
- 内置数据类型之字典,列表,元祖
- Java 笔记 之 JDK和JRE之间区别
- 【设计模式】05.装饰模式
- IT 技术学习资料分享
- 什么是CDN,content delivery network
- 设计模式:事件委托
- leetcode Evaluate Division
- F
- 企业级分布式任务调度系统介绍