set集合

1、set(集合)属性,无序,不重复序列(也可用于去重)
  li = [11,222]
  print(li)
    列表的创建
    li = [] 空列表
    list((11,22,33,4)) 元组转换为列表
      列表原理: list __init__,内部执行for循环(11,22,33,4) [11,22,33,4]
    字典:
    dic = {"k1":123}
  集合:
    se = {"123", "456"}
    s = set()    创建空集合
  li = [11,22,11,22]
  s1 = set(li) 转换为集合
  print(s1)
2、集合的功能
  set()
  创建集合
  s1 = {11,22}
  s2 = set()
  s3 = set([11,22,33,4])

  操作集合
    s = set() 定义一个空集合
    print(s)
    s.add(123) 给集合添加一个元素,每次只能添加一个元素
    s.add(123) 不重复,再次添加同一个元素无效
    print(s)
    s.clear() 清空集合
    print(s)

    s1 = {11,22,33}
    s2 = {22,33,44}
    s3 = s1.difference(s2) s1中存在,s2中不存在 
    s3 = s2.difference(s1) s2中存在,s1中不存在
    s3 = s1.symmetric_difference(s2)  s1中存在,s2中不存在和s2中存在,s1中不存在的元素,返回一个集合       
        print(s1,s2,s3)
    s1.difference_update(s2) 将s1中存在的,s2中不存在的更新到s1,此时s1为{11},若以后用不到s1可使用此方法
    s1.symmetric_difference_update(s2)    s1中存在,s2中不存在和s2中存在,s1中不存在的元素,返回一个集合,此时s1为{11,44} 若以后用不到s1可使用此方法

    s1 = {11,22,33}
    s1.discard(1111) 删除集合任一元素,存在则删除,不存在,不报错
    s1.remove(11111) 删除集合任一元素,存在则删除,不存在,报错
    ret = s1.pop()  删除集合任一元素(随机删除),不建议使用
      print(s1)
      print(ret)

      s1 = {11,22,33}
      s2 = {22,33,44}
    s3 = s1.union(s2) s1和s2的并集
      print(s3)
    s3 = s1.intersection(s2) s1和s2的交集
    s1.intersection_update(s2) s1和s2的交集,更新到s1,此时s1为{22,33},这是一个动作不可直接打印
      print(s1)

    s1 = {11,22,33}
      s1.add(11)集合不变
      s1.add(12)不变
      s1.add(13)不变
    li = [11,22,3,11,2]
    li = (11,22,3,11,2)
    li = "alexalex"
    s1.update(li)
    print(s1)
      上面分别列表,元组,字符串的执行结果
        {33, 2, 11, 3, 22}
        {33, 2, 11, 3, 22}
        {33, 'x', 11, 'e', 'l', 'a', 22}

# li = [11,22,33] # list __init__
# li() # list __call__
# li[0] # list __getitem__
# li[0] = 123 # list __setitem__
# def li[1] # list __delitem__
old_dict = {
"#1": 8,
"#2": 4,
"#4": 2,
}

new_dict = {
"#1": 4,
"#2": 4,
"#3": 2,
}
# old_kyes = old_dict.keys()
# old_set = set(old_kyes)
new_set = set(new_dict.keys())
old_set = set(old_dict.keys())

remove_set = old_set.difference(new_set)
add_set = new_set.difference(old_set)
update_set = old_set.intersection(new_set)
posted @ 2016-05-23 10:51  6随6心6  阅读(233)  评论(0编辑  收藏  举报