2021-01-31

第八讲

集合的简介.py

set表示集合 {}
集合只能存储不可变对象
s1 = {1, ‘abc’, [1, 2, 3]}
print(s1, type(s1))

集合中存储的对象是无序的
s2 = {6, 8, 9, 10}
print(s2)
集合不能出现重复元素 通过这一特性,我们可以来做一个数据去重的效果
s3 = {1, 2, 3, 4, 1, 2, 3, 4}
print(s3)
list1 = [1, 1, 2, 3, 3]
s4 = set(list1)
print(s4)

dict1 = {‘1’: 1}
print(set(dict1))

s = {} # 创建空集合, 需要用到set()

s = set()
print(type(s))

集合的使用.

len() 使用len()来获取集合中元素的数量

add()像集合中添加元素
s = set()
s.add(1)
s.add(2)
print(s)

update()将一个集合中的元素添加到另一个集合当中

s1 = {1, 2, 3}
s2 = {4, 5, 6}
s1.update(s2)
print(s1)

pop()随机删除集合中的一个元素一般是删除最开始一个元素

s1.pop()
s1.pop()
s1.pop()
s1.pop()
print(s1)

remove() 删除集合中指定的元素

s1.remove(1)
print(s1)

clear() 清空集合

s1.clear()
print(s1)

···········

集合的运算

s1 = {1, 2, 3, 7, 8}
s2 = {4, 5, 6, 7, 8}

& 交集运算

s3 = s1 & s2
print(s3)

| 并集运算

s4 = s1 | s2
print(s4)

- 差集运算

s5 = s1 - s2
print(s5)

^ 亦或集

s6 = s1 ^ s2
print(s6)
··························

可变类型和不可变类型.py

可变类型 列表 字典 集合 里面的元素改变了,但是他的id还是不会变化

不可变类型 int float 字符串 元组 里面的元素改变了,那么他的id也就发生了变化

str1 = ‘abc’
print(id(str1))

str2 = str1.replace(‘a’, ‘b’)
print(id(str2))

list1 = [1, 2, 3, 4]
print(id(list1))

list1.remove(4)
print(id(list1))

·························

函数简介

函数可以用来保存一些可以执行的代码,在你需要的时候可以对这些代码进行多次的使用
函数保存的代码不会立即执行,需要调用函数的时候代码才会执行

def fun(): # def 函数名(): 就是定义函数
print(‘这是我的第一个函数’)

调用函数 函数对象() fun() fun是函数对象 fun() 是调用函数

fun()

··························

函数的参数.

需求: 定义一个函数求任意2个数的和
在函数中定义形参,相当于在函数内声明了变量

def fun(a, b): # a, b 是形参 就是形式上的参数 ,你如果定义了形参,那么就必须在调用的时候传递实参
print(a + b)

fun(1, 2) # 1, 2 是实参,也就是实际参数

······················

参数的传递方式

def fun(a, b, c=20): # 参数可以再设置形参的时候,直接给他设置一个默认值, 如果实参没有传递参数,那么直接使用默认值,如果实参传递了,那么就是用实参
 print(a)
 print(b)
print(c)

fun(1, 2, 3)

位置传参 就是讲对应位置上的实参赋予给对应位置上的形参

def fun1(a, b, c):
print(a)
print(b)
print©

fun1(1, 2, 3)

关键字传参 可以不按照定义的顺序去进行参数的传递,根据参数名去传递实参
def fun2(a, b, c):
print(a)
print(b)
print©

fun2(b=1, a=2, c=3)
混合使用 位置传参必须放到关键字传参的前面

def fun2(a, b, c):
print(a)
print(b)
print©

fun2(2, c=1, b=2)

································

不定长参数

需求: 求任意个数的和
*不定长参数必须放到位置参数后面, 放到关键字参数的前面

def fn(b, *a, c):
r = 0
print(a)
for i in a:
r += i
print®

fn(1, 2, 3, 4, c=5)
**不定长参数必须放到位置参数和关键字参数的后面

def fn1(*y, a, **f):
r = 0
print(f)
for i in f:
r += i
print®
print(f)

fn1(2,1, a=1, b=2, c=3, d=4, e=5)

不定长参数在一个函数中不管是还是**都只能存在一个,而且必须要在**之前

(*args , **kwargs)

·······························

参数的传递类型

任意类型的参数都是可以传递的

def fun1():
pass

def fun(a):
print(a)

b = 12
b = ‘12’
b = None
b = True
b = [1, 2, 3]
b = fun1
fun(b)

def fun2(a): # a = b = 1
a = 10

 print(a)

b = 1
fun2(b)
print(b)

def fun3(a): # a = b = [1, 2, 3]
a[2] = 10

print(a)

b = [1, 2, 3]
fun3(b)
print(b)

···························

参数的拆包

def fun(a, b, c):
print(a)
print(b)
print©

t = (4, 5, 6)
t = {‘a’: 1, ‘b’: 2, ‘c’: 3}

fun(t[0], t[1], t[2])

fun(*t)

fun(**t)

····················

作业讲解

a = {“name”:“123”,“data”:{“result”:[{“src”:“python1”},{“src”:“python2”},{“src”:“python3”}]}} 找到python1/python2/python3

a = {“name”:“123”,“data”:{“result”:[{“src”:“python1”},{“src”:“python2”},{“src”:“python3”}]}}
print(a[‘data’][‘result’][0][‘src’])
print(a[‘data’][‘result’][1][‘src’])
print(a[‘data’][‘result’][2][‘src’])

有如下值列表[11,22,33,44,55,66,77,88,99,90], 将所有大于66的值保存至字典的第一个key的值中,将小于66值保存至第二个key的值中。

a = [11,22,33,44,55,66,77,88,99,90]
list1 = []
list2 = []
dict1 = {}
for i in a:
if i > 66:
list1.append(i)
elif i < 66:
list2.append(i)

print(list1)

print(list2)

dict1[‘key1’] = list1
dict1[‘key2’] = list2
print(dict1)

····························

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值