Python的集合

1.List集合
例:

L= {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59,
    'Paul':75
}

创建: empty_list = []
按照索引取值: empty_list [index]
倒序取值: empty_list [-index]
添加到尾部 : append()
添加到指定位置: insert(index, value)
删除末尾: pop();
删除指定位置: pop(index);
替换指定位置元素:empty_list [index] index可以为负 代表倒序的位置
2.Tuple集合

tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
T= (
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59,
    'Paul':75
)

创建可变的tuple 就是在tuple中添加list元素
例:

t = ('a', 'b', ('A', 'B'))

3.dict集合
dict是包含key和value的集合
例:

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}

必须根据key获取value
一是先判断一下 key 是否存在,用 in 操作符:

`if 'Paul' in d:

二是使用dict本身提供的一个 get 方法,在Key不存在的时候,返回None:
特点:
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。
不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很多内容,list正好相反,占用内存小,但是查找速度慢。
由于dict是按 key 查找,所以,在一个dict中,key不能重复。
dict的第二个特点就是存储的key-value序对是没有顺序的!
dict的第三个特点是作为 key 的元素必须不可变,Python的基本类型如字符串、整数、浮点数都是不可变的,都可以作为 key。但是list是可变的,就不能作为 key。
获取元素个数: len(d)
添加 :d[key]=value
遍历 例:

d = {
    'Adam': 95,
    'Lisa': 85,
    'Bart': 59
}
for key in d :
    print key + ':', d[key]

4.set集合
set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素,但是list中重复的元素在set中只会存在一个
由于set集合是无序的,所以没法通过索引来访问。访问 set中的某个元素实际上就是判断一个元素是否在set中。
value in s 输出的是一个布尔值 如果存在就返回True,如果不存在就返回Flase
特点:
set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。
set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中的。
最后,set存储的元素也是没有顺序的。
遍历:

s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])
for x in s:
    print x[0] , ':' , x[1]

输出:
Lisa : 85
Adam : 95
Bart : 59
添加元素: s.add(value)
删除元素: s.remove(value)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值