Python tutorial阅读之基本数据结构
list
API | 作用 | 等价操作 |
---|---|---|
list.append(x) | 把一个元素添加到结尾 | a[len(a):] = [x] |
list.extend(L) | 把一个列表的元素添加到另一个列表 | a[len(a):] = L |
list.insert(i,x) | 把一个元素插入到节点i之前 | ... |
list.remove(x) | 删除列表中指定的元素x,每次只会删除最靠前的那个 | ... |
list.pop(i) | 删除指定位置的元素,并返回,如果没有,则删除最后一个 | ... |
list.clear() | 删除所有的元素 | del a[:] |
list.index(x) | 返回值为x的索引 | ... |
list.count(x) | 统计x出现的次数 | ... |
list.sort() | 排序 | ... |
list.reverse() | 反转 | ... |
list.copy() | 浅拷贝 | a[:] |
python 中对所有可变的数据类型进行修改后,返回值均为None
元组(tuple)和序列
一个元组由数个逗号分隔的值组成,元组是不可变的。
集合
集合是一个无序不重复元素的集。基本功能包括关系测试和消除重复元素。
>>> x = set()
>>> x
set()
>>> x.add(123)
>>> x
{123}
>>> x.add(123)
>>> x
{123}
>>> x.add(1)
>>> x
{1, 123}
>>> a = set('abracadabra')
>>> b = set('alacazam')
>>> a-b #求差,即在a中不在b中
{'r', 'd', 'b'}
>>> a | b # 在a中出现 或者在b中出现
{'r', 'z', 'l', 'm', 'd', 'b', 'a', 'c'}
>>> a ^ b # 只在a 中出现 或只在b中出现
{'r', 'z', 'l', 'm', 'd', 'b'}
>>> a & b # a,b中都出现
{'a', 'c'}
字典
字典以 关键字 为索引,关键字可以是任意不可变类型
dict() 构造函数可以直接从 key-value 对中创建字典:
循环技巧
字典的循环
>>> info = {"username":"罗梁","password":"luoliang"}
>>> info
{'password': 'luoliang', 'username': '罗梁'}
>>> for k,v in info.items():
... print(k,v)
...
password luoliang
username 罗梁
序列打印索引
>>> x = [1,2,3,4,5,6,7,8,9,10]
>>> for k,v in enumerate(x):
... print(k,v)
...
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
打印多个序列
>>> x = [1,2,3]
>>> y =[4,5,6]
>>> z = [7,8,9]
>>> for a,b,c in zip(x,y,z):
... print(a,b,c)
...
1 4 7
2 5 8
3 6 9
# zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。