集合,固定集合,函数

集合set
    集合是可变的容器
    集合内的数据对象是唯一的(不能重复多次)
    集合是无序的存储结构,集合中的数据没有先后关系
    集合内的元素必须是不可变对象
    集合是可迭代的
    集合是相当于只有键没有值的字典(键则是集合的数据)


创建空的集合
 s = set()  #set() 创建一个空集合


创建非空集合
 s = {1,2,3}  #集合中的三个整数1,2,3


集合的构造函数 set
 set() 创建空集合
 set(iterable) 用可迭代对象创建一个新的集合对象


 示例:
 s = set("ABC")
 s = set("ABCCBA")
 s = set({1:"-",2:"二",5:"五"})
 s = set(1,3.14,False)
 s = set((2,3,5,7))
 s = set([1,2,[3.1,3.2],4]) #错的,[3.1,3.2]是可变对象


 集合的运算:
 交集,并集,补集,子集,超集


 & 生成两个集合的交集
 s1 = {1,2,3}
 s2 = {2,3,4}
 s3 = s1 & s2   #{2,3}


 | 生成两个集合的并集
 s1 = {1,2,3}
 s2 = {2,3,4}
 s3 = s1 | s2   #{1,2,3,4}


 - 生成两个集合的补集
 s1 = {1,2,3}
 s2 = {2,3,4}
#生成属于s1,但不属于s2的元素
 s3 = s1 - s2


^生成两个集合的对称补集
s1 = {1,2,3}
s2 = {2,3,4}
s3 = s1 ^ s2 # s3 = {1,4}
#等同于s3 = (s1 - s2) | (s2 - s1)


<判断一个集合是否是另一个集合的子集
>判断一个集合是否是另一个集合的超集 -->
s1 = {1,2,3}
s2 = {2,3}
s2 < s1  #True 判断子集
s2 > s1  #True 判断超集


== != 集合相同/不同
s1 = {1,2,3}
s2 = {2,3,1}
s1 == s2 # True
s1 !== s2 #False #集合的数据没有先后关系


in / not in运算符
等 同于字典,in 运算符用于集合中,
当某个值存在于集合中,则为真,否则为假
not in 与 in返回值相反
示例:
 s = {1,"two",3.14}
 1 in s #True
 2 in s # False
 3.14 not in s #False
 4 not in s #True


 python3中可以用于集合的函数
 len(x)  max(x) min(x) sum(x) any(x) all(x)


 集合是可迭代对象
 s = {1,2,3}
 for x in s:

    print(x)

集合推导式
    用可迭代对象来创建(生成)集合的表达式


    语法:
     {表达式 for变量in可迭代对象[if真值表达式]}
    []括号部分可以省略


    示例:
    L = [2,3,5,7,3,5,7,11]

    s= {x**2 for x in L} #s = {4,9,25,49,121}

固定集合frozenset
        固定集合是不可变的,无序的,含有唯一元素的集合


     作用:
        固定集合可以作为字典的键,也可以作为集合的值


    创建空的固定集合
    fs = frozenset()
    创建非空的固定集合
    fs = forzenset([2,3,5,7])


    构造函数:
    frozenset()
    forzenset(iterable) #同 set函数一致,返回固定集合
    固定集合的运算:
    & 交集
    | 并集
    - 补集
    ^对称补集
    > >= < <= == !=
    in/not in
    (以上规则同set中的用法)
    固定集合的方法:
    相当于集合的全部方法去掉修改集合的方法


阶段总结:
数据类型
    不可变数据类型
    bool, int, float,complex,str,tuple:任意类型数据存储,
    frozenset:不可变数据类型, bytes
    可变数据类型
    list,dict,set,bytearray(字节数组)


值:
    None, True, False ...
运算符
+ - * / // % **
> >= < <= == !=
is  is not
in  not in
not and  or
& | ^ - 
+(正号)
-(负号)


表达式,一定可以在赋值表达式的右边,一定可以返回值
1
1 + 2
len([1,2,3])
条件表达式 x if x > y else y
全部的推导式:
    列表,字典,集合推导式(三种)


语句:
表达式语句:
print("abc")
"hello"
赋值语句:创建和修改变量,没有创建对象
a = 10
a = b = c = 200
x,y = 100,200
if 语句
while 语句
for  语句
break 语句
continue 语句
pass 语句
del 语句


内建函数:
len(x)
max(x)
min(x)
sum(x)
any(x)
all(x)
-------
bool(x)
int(x)
float(x)
complex(x)
str(x)
list(x)
tuple(x)
dict(x)
set(x)
frozenset(x)
-------
abs(x)
round(x)
pow(x,y,...)
-------
bin(x)
oct(x)
hex(x)
chr(x)
ord(x)
-------
range([start, ]stop[,step])
-------
input(x)
print(...)


---------------
函数function
什么是函数:
    函数是可以重复执行的语句块,可以重复使用
作用:
    1.用于封装语句块,提高代码的重用性
    2.定义用户级别的函数


函数定义(创建)语句 def 语句的语法:
    def 函数名 (形参列表):
        语句块


说明:
   1.函数的名字就是语句块的名称
   2.函数名的命名规则与变量名相同(函数名必须为标识符)
   3.函数有自己的名字空间,在函数外部不可以访问函数内部的变量,在函数
   内部访问函数外部的变量,通常让函数处理外部数据需要用参数给函数传入
   一些数据
   4函数的参数列表可以为空
   5.语句部分不能为空.如果为空需要填充pass语句


示例见:
    code/def.py


函数的调用
    函数名(实际调用传递参数列表)
    注:实际调用传递参数以后称为实参


    说明:
     函数调用是一个表达式
     如果没有return语句,此函数执行完毕后返回None对象
     如果函数需要返回其它的对象需要用到return语句


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#是一种面向对象的程序设计语言,它提供了许多集合类别,用于存储和管理数据。下面是一些常见的C#集合类别: 1. 数组(Array):数组是C#中最基本的集合类型之一。它可以存储固定大小的连续元素,可以通过索引访问元素。 2. 列表(List):列表是一种动态大小的集合类别,可以存储多个元素。它提供了一些方法来添加、删除和查找元素。 3. 链表(LinkedList):链表也是一种动态大小的集合类别,与列表不同的是,链表中的元素通过节点进行连接,每个节点都包含一个元素和指向下一个节点的引用。 4. 队列(Queue):队列是一种先进先出(FIFO)的数据结构,其中元素按照添加的顺序被移除。 5. 栈(Stack):栈是一种后进先出(LIFO)的数据结构,其中最后添加的元素首先被移除。 6. 哈希表(Hashtable):哈希表是一种键值对存储的集合类别。它使用哈希函数将键映射到唯一的值,这样可以快速地查找和访问元素。 7. 字典(Dictionary):字典是一种键值对存储的集合类别,与哈希表类似,但是字典中的键是唯一的。 8. 集合Set):集合是一种不包含重复元素的集合类别,它提供了一些方法来添加、删除和查找元素。 这些集合类别在C#中提供了灵活和高效地存储和操作数据的方式。根据实际需要,开发人员可以选择适当的集合类别来满足程序的需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值