一.字典
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']
>>> 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,反之亦然。