【Python语法】集合

一、创建一个集合

#首先,让我们新建一个集合
新建集合 = ['a','b','c',1,2,3]
#然后尝试输出它
print(新建集合)
#这时输出的为:
#['a','b','c',1,2,3]

二、数字集合

 1、建立一个数字集合

    a、基础——连续数列

     需要使用 【list()】函数【range()】函数

新建数字集合 = list(range(1,6))
print(新建数字集合)
#输出:
#[1, 2, 3, 4, 5]

    b、等差数列

    使用的是 【range(int a , int b ,int c)】函数的第三个变量

#创建一个公差为3的数列
i = list(range(0,12,3))
print(i)
#输出:
#[0, 3, 6, 9]

    c、100以内的平方数

集合 = []
for i in range(1,11):
	集合.append(i ** 2)
print(集合)
#输出:
#[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

    d、总结

    我列举出来的示例仅仅是冰山一角,有更多的逻辑需要我们自己去创造、去挖掘。但是, 【list()】函数与【range()】函数一定是这一切的基础!


 2、处理数字集合

    a、求和

     【sum()】函数

数字集合 = [1,2,3,4,5]
求和 = sum(数字集合)
print(求和)
#输出:
#15

    b、最大值

     【max()】函数

数字集合 = [1,2,3,4,5]
最大值 = max(数字集合)
print(求和)
#输出:
#5

    c、最小值

     【min()】函数

数字集合 = [1,2,3,4,5]
最小值 = min(数字集合)
print(求和)
#输出:
#1

 3、简化代码——列表解析

   这是简化完的上述平方数程序:集合 = [i ** 2 for i in range(1,11)]
   列表解析的规则是什么呢?
    首先,指定一个集合名称集合
    然后,建立等式与中括号,来规定这是一个集合集合 = []
    接下来,建立表达式集合 = [i ** 2]
    最后,编写for循环,用于给表达式提供数值注意,这里的for循环无需加入冒号集合 = [i ** 2 for i in range(1,11)]


三、将集合输出

  1、输出单个元素

   那要如何让输出更美观呢(获取对应单个元素)

print(新建集合[0])
#这时的输出为:
#a

   如果想要输出最后一个元素,还可以这样:print(新建集合[-1])
   注意,集合的第一个元素在Python看来是第0个


  2、输出多个元素——切片

  注意: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']

  3、复制集合

   这个是非常重要的一个知识点,因为它与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[:]时就不会出现这样的错误。


  4、检测集合是否为空

   可用if循环检测

#如果集合不为空:
if 新建集合:
	print("集合不为空")
#如果集合为空:
else:
	print("集合为空")

四、更改集合内容

  1、修改元素

   新附一个值就ok了,如下

新建集合[0] = 'b'

  2、添加元素

    a、在集合末尾添加元素

      需要用到的是【.append()】方法

#比如我想在【新建集合】中的末端添加一个元素
新建集合.append("a")
#输出它
print(新建集合)
#输出为:
#['a', 'b', 'c', 1, 2, 3, 'a']

    b、在集合任意位置添加元素

     需要用到的是【.insert()】方法

#比如我想在集合第2个位置插入一个元素
新建集合.insert(1"ab")
#输出它
print(新建集合)
#输出为:
#['a', 'ab', 'b', 'c', 1, 2, 3]

就相当于在原本 新建集合[1]的位置插入了一个空位,将"ab"插入了进来


 3、删除元素

  a、DEL语句

del 新建集合[0]

  b、pop()方法

新建集合 = ["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

  c、根据值删除元素

    使用方法【.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

 4、排列元素(仅限于字符串类型)

  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']

  b、临时性顺序排列元素

    【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']

  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
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

昭昭泰心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值