1. 元祖

1-1. 元祖的创建

  • Python的元组与列表类似,不同之处在于元组的元素不能修改。
  • 元组使用小括号,列表使用方括号。
  • 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
  • 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用:
  1. tup1 = (1,'郭靖', '黄蓉')
  2. tup2 = 1,'小龙女', [1,2] # 不加括号也可以直接创建元祖
  3. print(tup1,tup2)
  4. # (1, '郭靖', '黄蓉') (1, '小龙女', [1, 2])
  5. tup3 = (4)
  6. print(type(tup3))
  7. # <class 'int'>
  8. # 当创建的元祖,只有一个元素是,后面要加逗号,否则()则会被当成运算符

1-2. 元祖的操作

  • 元祖不能修改,当然包括不能删除。但是可以删除整个元祖

del tup 可以删除整个元祖

  • 元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式 结果 描述
len((1, 2, 3)) 3 计算元素个数
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6) 连接
(‘Hi!’,) * 4 (‘Hi!’, ‘Hi!’, ‘Hi!’, ‘Hi!’) 复制
3 in (1, 2, 3) True 元素是否存在
for x in (1, 2, 3): print (x,) 1 2 3 迭代

  • 元组索引,截取(同字符串和列表一样,有下标和切片)

**

1-3. 元组内置函数

Python元组包含了以下内置函数

方法及描述 实例
len(tuple)
计算元组元素个数。
>>> tuple1 = (‘Google’, ‘Runoob’, ‘Taobao’)

len(tuple1) 3 | | max(tuple)
返回元组中元素最大值。 | >>> tuple2 = (‘5’, ‘4’, ‘8’) max(tuple2) ‘8’ | | min(tuple)
返回元组中元素最小值。 | >>> tuple2 = (‘5’, ‘4’, ‘8’) min(tuple2) ‘4’ | | tuple(iterable)
将可迭代系列转换为元组。 | >>> list1= [‘Google’, ‘Taobao’, ‘Runoob’, ‘Baidu’] tuple1=tuple(list1) tuple1 (‘Google’, ‘Taobao’, ‘Runoob’, ‘Baidu’) |

2. 集合

2-1. 集合的创建

  • 集合(set)是一个无序的不重复元素序列。
  • 可以使用大括号 { } 或者 set() 函数创建集合,
  • 注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

创建格式:

  1. set1 = {'郭靖', '杨过', '黄蓉', '小龙女'}
  2. set2 = set('杨康')
  3. set3 = set('1"黄药师""洪七公"2')
  4. print(set1, set2, set3)
  5. # {'小龙女', '黄蓉', '杨过', '郭靖'} {'杨', '康'} {'黄', '师', '公', '七', '"', '1', '药', '洪', '2'}

2-2. 集合的基本操作

  • 添加元素
    • set.add()
    • 还有一个方法,也可以添加元素,且参数可以是列表,元组,字典等:set.update( x )
  • 移除元素
    • set.remove(x) 将元素 x 从集合 s 中移除,如果元素不存在,则会发生错误。
    • set.discard( x ) 也是移除集合中的元素,且如果元素不存在,不会发生错误
    • set.pop() 随机删除集合中的一个元素.
    • set 集合的 pop 方法会对集合进行无序的排列,然后将这个无序排列集合的左面第一个元素进行删除。
  • 计算元素个数
    • len(set)
  • 清空
    • set.clear()
  • 判断元素是否存在
    • x in set;判断元素 x 是否在集合 s 中,存在返回 True,不存在返回 False。
  1. set1 = {'郭靖', '杨过', '黄蓉', '小龙女'}
  2. # 1. 添加元素
  3. set1.add('老顽童')
  4. print(set1) # {'杨过', '郭靖', '老顽童', '黄蓉', '小龙女'}
  5. set1.update(['九阴真经','华山论剑'])
  6. print(set1)
  7. # {'老顽童', '郭靖', '九阴真经', '黄蓉', '小龙女', '华山论剑', '杨过'}

2-3. 集合的特点

  1. my_list = [1,1,1]
  2. my_list = list(set(my_list))
  3. print('list转set后去重复: my_list = ', my_list)
  4. my_set = {1,1,3}
  5. print(my_list)
  6. print(my_set,'\n')
  7. set1 = {1,2,3,4}
  8. set2 = {1,2,5,6}
  9. print('set1= ', set1)
  10. print('set2= ', set2, '\n')
  11. 执行结果:
  12. '''
  13. list转set后去重复: my_list = [1]
  14. [1]
  15. {1, 3}
  16. set1= {1, 2, 3, 4}
  17. set2= {1, 2, 5, 6}
  18. '''
  19. #差集
  20. print('差集, set1-set2,set2-set1')
  21. print('set1-set2= ',set1-set2)
  22. print('set2-set1= ',set2-set1, '\n' )
  23. '''
  24. 差集, set1-set2,set2-set1
  25. set1-set2= {3, 4}
  26. set2-set1= {5, 6}
  27. '''
  28. #并集
  29. print('并集, set1 | set2')
  30. print('set1 | set2= ', set1 | set2, '\n')
  31. '''
  32. 并集, set1 | set2
  33. set1 | set2= {1, 2, 3, 4, 5, 6} '''
  34. #交集
  35. print('交集, set1 & set2')
  36. print('set1 & set2= ', set1 & set2, '\n')
  37. ''' 交集, set1 & set2
  38. set1 & set2= {1, 2} '''
  39. #反交集
  40. print('反交集, set1 ^ set2 除了交集外的元素,相当于并集-交集')
  41. print(set1 ^ set2)
  42. '''
  43. 反交集, set1 ^ set2 除了交集外的元素,相当于并集-交集
  44. {3, 4, 5, 6}'''