分享

Python学习笔记之二

 印度阿三17 2020-01-20

集合 set

集合特性 

  1.不同元素组成
  2.无序排列
  3.只能存放不可变类型(数字,字符串,元祖)

集合方法

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
# 集合方法练习:
l1 = [ 2, 3]
l2 = [2, 3, 4]
# 转换成集合,相当于for循环取每个元素加入到集合里
s1 = set(l1)
s2 = set(l2)

# issubset() 判断s1是都是s2的子集,是True 不是False
print(s1.issubset(s2))

# issuperset() 判断s2是否是s1的父集,是True 不是False
print(s2.issuperset(s1))

# isdisjoint() 判断s1和s2是否有交集,没有True 有False
print(s1.isdisjoint(s2))

# 方法 pop() 随机删除集合中的元素
s1.pop()
s2.pop()
print("pop方法:", s1, s2, sep="\n")

# 方法remove() 删除集合中指定的元素,不存在报错
# s1.remove(1)
# s2.remove(3)
# print("remove方法:", s1, s2, sep="\n")

# 方法discard()删除集合中指定的元素,不存在不报错
s1.discard(99)
s2.discard(99)

# 方法 add(),向集合中增加元素
s1.add(5)
s2.add(6)
print("add方法:", s1, s2, sep="\n")

# update,将一个iterable对象添加到s1中
s1.update("山河万里")
s1.update([33, 44, 55])
s1.update((11, 22, 33,))
# 把字典添加到集合的时候,默认添加键,指定items()则将键值对转换成元祖添加
s1.update({"k1": "纵", "k2": "情"}.items())
print(s1)

# 集合并集
print("集合并集".center(30, "*"))
print(s1 | s2)
print(s1.union(s2))

# 集合交集
print("集合交集".center(30, "*"))
print(s1 & s2)
print(s1.intersection(s2))

# s1跟s2的差集
print("s1跟s2的差集".center(30, "*"))
print(s1 - s2)
print(s1.difference(s2))

# s2跟s1的差集
print("s2跟s1的差集".center(30, "*"))
print(s2 - s1)
print(s2.difference(s1))

# s1|s2的交叉补集
print("s1|s2的交叉补集".center(30, "*"))
print(s2 ^ s1)
print(s2.symmetric_difference(s1))

# s1|s2的差集,并赋值给s1
print("s1|s2的差集,并赋值给s1".center(30, "*"))
s1.difference_update(s2)
print(s1, s2)

# s2|s1的差集,并赋值给s2
print("s2|s1的差集,并赋值给s2".center(30, "*"))
s2.difference_update(s1)
print(s2, s1)

# s1|s2的交集,并赋值给s1
print("s1|s2的交集,并赋值给s1".center(30, "*"))
s1.intersection_update(s2)
print(s1, s2)

# s1|s2的交叉补集,并赋值给s1
print("s1|s2的交叉补集,并赋值给s1".center(30, "*"))
s1.symmetric_difference_update(s2)
print(s1, s2)

# 定义不可变集合
s = frozenset("仰天大笑出门去")
print(s)

# 给列表去重
li = ["aa","bb","aa"]
li = list(set(li))
print(li)

函数

定义函数

函数式编程最重要的是增强代码的重用性和可读性

def 函数名(param):
"""

:param 参数:
:return:
"""
...
函数体
  ...
return

函数的定义要点:

  • def:表示函数的关键字

  • 函数名:函数的名称,日后根据函数名调用函数

  • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...

  • param:参数为函数体提供数据

  • return:返回值,当函数执行完毕后,可以给调用者返回数据

返回值

  函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者。  

参数

# 参数有:形参,实参,位置参数(必须一一对应),关键字参数(位置不需要固定)

# 默认参数
# def handle(x, type="mysql"):
#     print(x)
#     print(type)

# 参数组
# def test(x, *args):
#     print(x)
#     print(args)
#
# test(1, 2, 3, 4, 5, 6)

# def test(x, **kwargs):
#     print(x)
#     print(kwargs)

# def test(x, *args, **kwargs):
#     print(x)
#     print(kwargs)
来源:https://www./content-1-617901.html

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多