您的位置:首页 > 编程语言 > Python开发

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

2017-12-05 18:58 453 查看
一.字典

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 ali
False

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,反之亦然。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python 入门 基础
相关文章推荐