集合

  • 一、创建一个集合
  • 二、数字集合
  •  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