Python集合

# -*- coding:UTF-8 -*-

'''
    set是一个无序且不重复的元素集合
'''


def read_set():
    # 创建set
    s1 = set('qiwsit')
    print s1  # s1= set(['q', 'i', 's', 't', 'w'])

    s2 = set([123, 'google', 'face', 'book', 'facebook', 'book'])  # 通过list创建set,不能有重复元素
    print s2

    s3 = {'facebook', 123}  # 通过{}直接创建
    print s3

    # 注意:
    #     通过{}无法创建含有list/dict元素的set
    #     set不允许使用索引

    # 通过list来进行索引
    lst = list(s1)
    print lst
    print lst[3], lst[2]

    # 增加元素
    a_set = {}
    print type(a_set)  # 注意,此时类型为dict,<type 'dict'>

    b_set = {'a', 'i'}
    print type(b_set)  # 此时类型为<type 'set'>
    b_set.add('ahd')
    print b_set  # 添加一个元素之后的集合:set(['i', 'a', 'ahd'])

    # 删除元素 pop(), remove(), discard()
    print b_set  # b_set= set(['i', 'a', 'ahd'])
    print b_set.pop()  # 从set中删除一个元素
    print b_set.pop()  # 从set中删除一个元素
    print b_set
    # set.pop() 从set中任意选一个元素,删除并将这个值返回,但是,不能指定删除某个元素
    # set.remove() 从set中指定删除某个元素
    print b_set.add('time')
    print b_set.add('hello')
    print b_set  # b_set= set(['hello', 'ahd', 'time'])
    b_set.remove('ahd')  # 指定删除某个元素
    print b_set
    # set,discard() 如果删除的是set中的元素,则删除,否则,什么也不做
    b_set.discard('and')  # b_set中没有'and'元素,什么也不做,原样输出
    print b_set

    # sets支持 x in set, len(set), for x in set
    # 作为一个无序的集合,sets不记录元素的位置和插入点
    # sets不支持index,slice等操作

    # 基本操作
    x = set('jihite')
    y = set(['d', 'i', 'm', 'i', 't', 'e'])  # 去重
    print x
    print y
    # 交
    print 'x & y:', x & y
    # 并
    print 'x | y:', x | y
    # 差
    print 'x - y:', x - y
    # 对称差
    print 'x ^ y:', x ^ y


if __name__ == '__main__':
    read_set()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值