Skip to content

Python中的几种集合 #3

@makisang

Description

@makisang

list

列表是一种有序的数据集合,可以随时添加和删除其中的元素

>>> classmates = ['Michael', 'Bob', 'Tracy']
>>> classmates
['Michael', 'Bob', 'Tracy']

添加元素通过append或者insert,删除元素通过pop

>>> classmates.append('Adam')
>>> classmates.insert(1, 'Jack')
>>> classmates.pop()
'Adam'
>>> classmates.pop(1)
'Jack'

tuple

元组和列表类似,但是一旦初始化就不能修改

>>> t = (1, 2)
>>> t
(1, 2)

注意,当定义的元组只有一个元素时,要加一个逗号

>>> t = (1, )
>>> t
(1, )

dict

dict和java中的map类似,使用键-值(key-value)存储,具有很快的存储速度,但是内存占用大,是一种空间换时间的做法

>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
>>> d.get('Michael')
95

dict可以用在许多需要快速查找的地方,需要牢记一点:dict的key必须是不可变对象

set

set和dict类似,也是一组key的集合,但是set不能存储value,同样的,set中没有重复的key
要创建一个set,需要提供一个列表作为输入,重复元素自动被忽略

>>> s = set([1, 1, 2, 2, 3, 3])
>>> s
{1, 2, 3}

set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作

>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions