内置数据类型之字典,列表,元祖

来源:互联网 发布:苹果电脑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']>>> ali
remove从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,反之亦然。





原创粉丝点击