python常见的内置容器

python内置了不少容器,主要有list,tuple,dict和set等几种。

1.list

在python中list就类似于一个链表,或者说列表,从来从出大量数据

list.append(x); #在list的末尾添加元素x,尾部插入

list.extend(L); #L也是一个list,extend就是说在当前list后面插入整个L

list.insert(index, x); #在list中index下标处插入x

list.remove(x); #移除list中第一个值为x的元素

list.pop(index); #list移除index位置处的元素

list.clear() #移除list中所有元素

list.index(x); #得到list中首个值为x的元素的小标

list.count(x); #统计list中值为x的元素总个数

list.sort(key=None, reverse=False); #原地为list中的元素进行排序

list.reverse(); #将整个list中的元素做逆置(顺序颠倒)

以下为list的示例用法:

a = [66.25, 333, 333, 1, 1234.5]
print(a.count(333), a.count(66.25), a.count(‘x’))
2 1 0

a.insert(2, -1)
a.append(333)
a
[66.25, 333, -1, 333, 1, 1234.5, 333]
a.index(333)
1

a.remove(333)
a
[66.25, -1, 333, 1, 1234.5, 333]

a.reverse()
a
[333, 1234.5, 1, 333, -1, 66.25]

a.sort()
a
[-1, 1, 66.25, 333, 333, 1234.5]

a.pop()
1234.5

a
[-1, 1, 66.25, 333, 333]
文章首发于凌风技术站。

2.tuple

tuple中存储的元素不可变,所以存储在tuple中的元素若修改就会出现错误

t = (2123, 23, ‘hello’); #声明一个tuple,包含三个元素
t[0];
2123

#tuple的元素不可变,但是tuple保存的元素的元素是可变的,也就是tuple可以包含可变的对象。
t[0] = 3; #这是错误的,因为tuple中元素不可变>>>t = ([1, 2, 3], [4, 5, 6]);
t[0][0] = 2; #这是可以的,因为tuple中的直接元素没变,只是tuple中元素的元素变了。
empty = (); #声明一个空的tuple

但是要声明一个只包含一个元素的tuple却不能使用t = (2);这种形式,因为无法判断t是赋值2还是一个tuple,所以必须使用tuple = (2,);
文章首发于凌风技术站。

3.set

set在python中就是一个无序的,而且不允许重复的集合,跟数学中的集合概念是一致的。

aset = {‘abc’, ‘ddf’, ‘slkdj’, ‘www.iaccepted.net’};

如上就声明了一个包含4个元素的set,也可以使用一个list来声明一个set

l = [1, 2, 3, 4 ,5];
aset = set(l); #声明一个set,包含1, 2, 3, 4, 5五个元素
bset = {‘abc’, ‘sld’, ‘wer’, ‘www.iaccepted.net’};
print(aset – bset); #求差运算,输出所有aset中存在但bset中不存在的元素
print(aset | bset); #求并运算,类似数学中操作
print(aset & bset); #求交运算,类似于数学中集合操作
print(aset ^ bset); #在aset中或在bset中但不同时在aset和bset中的元素文章首发于凌风技术站。

4.dict

python中还有一个关联容器——dictionary。该容器类似于c++中的map,存储键值对。

bs = {‘a’:65, ‘b’:66};
bs[‘c’] = 67;

list(bs.keys()); #此方法是得bs中所有键值对的键序列,然后用来初始化一个list

for k, v in bs.items(): #k接受每个键值对的键,v接受相应的value
       print(k, v);

以上主要说明了一下python中的几种常用的容器。

本文遵从CC3.0协议转载请注明:转自凌风技术站

本文标题:python常见的内置容器

本文链接地址:http://www.iaccepted.net/python/tutorial/5.html

相关文章



发表评论

电子邮件地址不会被公开。 必填项已用*标注