一、集合
一、无序和不可改变等特点,集合支持数学理论中的各种集合运算。
集合常量也可用内置的set()
函数创建集合对象set()
函数的参数为可迭代对象,如列表、字符串等。无参数时,set()
函数创建一个空集合对象。空集合对象用set()
表示,空字典对象用{}
表示。
集合中的元素不允许有重复值,在创建集合对象时,Python
会自动去除从复值。
集合的常用操作:
a = {1, 2, 'a', 'bc'}
b = {1, 'a', 5}
print(len(a)) # 求长度:计算集合中元素的个数 4
print('a' in a) # 判断包含:判断集合是否包括数据 True
print(a - b) # 求差集:用属于set1但不属于set2的元素创建新集合 {2, 'bc'}
print(a | b) # 求并集:用set1、set2两个集合中的所有元素创建新集合 {1, 2, 5, 'a', 'bc'}
print(a & b) # 求交集:用同时属于set1和set2的元素创建新集合 {1, 'a'}
print(a ^ b) # 求对称差:用属于set1但不属于set2以及属于set2但不属于set1的元素创建新集合 {2, 5, 'bc'}
print(a < b) # 比较:判断子集和超集的关系,x是y的子集时返回True,否则返回False False
二、列表
列表常量用方括号表示,例如,[1,2,'abc'],也可以使用list()函数来创建,列表的主要特点如下:
1、列表可以包含任意类型的对象:数字、字符串、列表、元组或其他对象。
2、列表是一个有序序列,与字符串类似,可通过位置偏移量执行索引和分片操作。
3、列表是可变的。列表的长度可变,即可添加或删除列表成员。列表元素的值也可改变。
4、每个列表元素存储的是对象的引用,而不是对象本身,类似于C/C++的指针数组。
列表基本操作包括:创建列表、求长度、合并、重复、迭代、关系判断、索引和分片等。
(一)、创建列表
print([1, 2, 3, 4, ('a', 'b'), [12, 34]]) # [1, 2, 3, 4, ('a', 'b'), [12, 34]]
print(list('abcd')) # ['a', 'b', 'c', 'd']
print(list(range(-2, 3))) # [-2, -1, 0, 1, 2]
print(list((1, 2, 3))) # [1, 2, 3]
list1 = [item + 10 for item in range(5)]
print(list1) # [10, 11, 12, 13, 14]
(二)、 求长度
print(len([1, 2, 3, 4, ('a', 'b'), [5, 6]])) # 6
(三)、合并
print([1, 2] + ['abc', 20]) # [1,2,'abc',20]
(四)、重复
print([1, 2] * 5) # [1,2,1,2,1,2,1,2,1,2]
(五)、关系判断
print(2 in [1, 2, 3]) # False
(六)、索引
list1 = [1, 2, 3, ['a', 'b', 'c']]
list1[2] = 100
print(list1[0], list1[2], list1[-1])
(七)、分片,与字符串类似,可通过分片来获取列表中的连续多个数据,也可以通过分片将连续多个数据替换成新的数据。
list1 = list(range(10))
print(list1[2:5]) # [2, 3, 4]
print(list1[2:]) # [2, 3, 4, 5, 6, 7, 8, 9]
print(list1[:5]) # [0, 1, 2, 3, 4]
print(list1[3:10:2]) # [3, 5, 7, 9]
print(list1[10:3:-2]) # [9, 7, 5]
list1[2:5] = 'abc'
print(list1) # [0, 1, 'a', 'b', 'c', 5, 6, 7, 8, 9]
list1[2:5] = [10, 20]
print(list1) # [0, 1, 10, 20, 5, 6, 7, 8, 9]
三、