集合
- 一、创建一个集合
- 二、数字集合
- 1、建立一个数字集合
- a、基础——连续数列
- b、等差数列
- c、100以内的平方数
- d、总结
- 2、处理数字集合
- a、求和
- b、最大值
- c、最小值
- 3、简化代码——列表解析
- 三、将集合输出
- 1、输出单个元素
- 2、输出多个元素——切片
- 3、复制集合
- 4、检测集合是否为空
- 四、更改集合内容
- 1、修改元素
- 2、添加元素
- a、在集合末尾添加元素
- b、在集合任意位置添加元素
- 3、删除元素
- a、DEL语句
- b、pop()方法
- c、根据值删除元素
- 4、排列元素(仅限于字符串类型)
- a、永久性顺序排列元素
- b、临时性顺序排列元素
- c、倒着排列元素
- 五、获取列表长度
一、创建一个集合
#首先,让我们新建一个集合
新建集合 = ['a','b','c',1,2,3]
#然后尝试输出它
print(新建集合)
#这时输出的为:
#['a','b','c',1,2,3]
二、数字集合
需要使用 【list()】函数 与 【range()】函数
新建数字集合 = list(range(1,6))
print(新建数字集合)
#输出:
#[1, 2, 3, 4, 5]
使用的是 【range(int a , int b ,int c)】函数的第三个变量
#创建一个公差为3的数列
i = list(range(0,12,3))
print(i)
#输出:
#[0, 3, 6, 9]
集合 = []
for i in range(1,11):
集合.append(i ** 2)
print(集合)
#输出:
#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
我列举出来的示例仅仅是冰山一角,有更多的逻辑需要我们自己去创造、去挖掘。但是, 【list()】函数与【range()】函数一定是这一切的基础!
【sum()】函数
数字集合 = [1,2,3,4,5]
求和 = sum(数字集合)
print(求和)
#输出:
#15
【max()】函数
数字集合 = [1,2,3,4,5]
最大值 = max(数字集合)
print(求和)
#输出:
#5
【min()】函数
数字集合 = [1,2,3,4,5]
最小值 = min(数字集合)
print(求和)
#输出:
#1
这是简化完的上述平方数程序:集合 = [i ** 2 for i in range(1,11)]
列表解析的规则是什么呢?
首先,指定一个集合名称集合
然后,建立等式与中括号,来规定这是一个集合集合 = []
接下来,建立表达式集合 = [i ** 2]
最后,编写for循环,用于给表达式提供数值注意,这里的for循环无需加入冒号集合 = [i ** 2 for i in range(1,11)]
三、将集合输出
那要如何让输出更美观呢(获取对应单个元素)
print(新建集合[0])
#这时的输出为:
#a
如果想要输出最后一个元素,还可以这样:print(新建集合[-1])
注意,集合的第一个元素在Python看来是第0个
注意:Python不会输出最后一个值,如
新建集合 = ['a','b','c','d']
print(新建集合[0:2])
#输出:
#['a','b']
如果没有第一个索引,python将从第一个元素开始,如
新建集合 = ['a','b','c','d']
print(新建集合[:2])
#输出:
#['a','b']
如果没有最后一个索引,python将于最后一个元素结束,如
新建集合 = ['a','b','c','d']
print(新建集合[2:])
#输出:
#['c','d']
中括号内还可以添加第三个值,这个值表示Python每隔多少个元素提取一个,如:
新建集合 = ['a','b','c','d','e','f','g']
print(新建集合[0:5:2)
#输出:
#['a', 'c', 'e']
这个是非常重要的一个知识点,因为它与C语言完全不同,来让我们看一下区别:
新建集合 = ['a','b','c','d','e','f','g']
i = 新建集合
新建集合.append('a')
print(i)
新建集合 = ['a','b','c','d','e','f','g']
i = 新建集合[:]
新建集合.append('a')
print(i)
来,猜一下这两段代码分别会输出什么内容
第一段代码的结果:['a','b','c','d','e','f','g','a']
第二段代码的结果:['a','b','c','d','e','f','g']
这是因为当使用a = b
的代码时,Python会自动将两个集合相关联,共用一个列表,所以会出现这样的结果。而使用切片a = b[:]
时就不会出现这样的错误。
可用if循环检测
#如果集合不为空:
if 新建集合:
print("集合不为空")
#如果集合为空:
else:
print("集合为空")
四、更改集合内容
新附一个值就ok了,如下
新建集合[0] = 'b'
需要用到的是【.append()】方法
#比如我想在【新建集合】中的末端添加一个元素
新建集合.append("a")
#输出它
print(新建集合)
#输出为:
#['a', 'b', 'c', 1, 2, 3, 'a']
需要用到的是【.insert()】方法
#比如我想在集合第2个位置插入一个元素
新建集合.insert(1,"ab")
#输出它
print(新建集合)
#输出为:
#['a', 'ab', 'b', 'c', 1, 2, 3]
就相当于在原本 新建集合[1]
的位置插入了一个空位,将"ab"
插入了进来
del 新建集合[0]
新建集合 = ["a","b","c","d"]
新建集合.pop()
print(新建集合)
#输出:
#['a','b','c']
新建集合 = ["a","b","c","d"]
新建集合.pop(0)
print(新建集合)
#输出:
#['b','c','d']
新建集合 = ["a","b","c","d"]
i = 新建集合.pop(0)
print(新建集合)
#输出:
#['b','c','d']
print(i)
#输出:
#a
使用方法【.remove()】
新建集合 = ["a","b","c","d"]
新建集合.remove("a")
print(新建集合)
#输出:
#['b','c','d']
也可以这样用
新建集合 = ["a","b","c","d"]
i = "a"
新建集合.remove(i)
print(新建集合)
#输出:
#['b','c','d']
print(i)
#输出:
#a
【sort()】方法。这种方法会使得集合内的元素按照首字母排列,但是注意,这个方法会永久性的修改集合内元素的排列顺序
如
新建集合 = ["a","b",'e','d','C']
新建集合.sort()
print(新建集合)
#输出:
#['C', 'a', 'b', 'd', 'e']
大写在小写之前,a在z之前,字母在其余文字之前
如果希望反向排列,则可以这样
新建集合 = ["a","b",'e','d','C']
新建集合.sort(reverse = True)
print(新建集合)
#输出:
#['e', 'd', 'b', 'a', 'C']
【sorted()】函数。这种方法只能临时改变集合内元素顺序
新建集合 = ["a","b",'e','d','C']
print(sorted(新建集合))
#输出:
#['C', 'a', 'b', 'd', 'e']
这种方法也是支持倒序排列的
新建集合 = ["a","b",'e','d','C']
print(sorted(新建集合 , reverse = True))
#输出:
#['e', 'd', 'b', 'a', 'C']
【.reverse()】方法。用于倒着打印列表
新建集合 = ["a","b",'e','d','C']
新建集合.reverse()
print(新建集合)
#输出:
#['C', 'd', 'e', 'b', 'a']
五、获取列表长度
【len()】函数。
新建集合 = ["a","b",'e','d','C']
i = len(新建集合)
print(i)
#输出:
#5