蓝桥杯备赛(Day1)

目录

python基础知识点拾遗

将计算所得结果分别赋值给多个变量

两变量数值进行交换

多个变量同时进行赋值

取出三位数中的百位数十位数个位数(水仙花数)

序列

列表

复制与排序

赋值

排序

元组(tuple)

集合(set)

函数

形参与实参 

return语句

变量作用域

可变长度参数


python基础知识点拾遗

将计算所得结果分别赋值给多个变量

a,b=map(int,x.split())

上述代码将x分割所得到的结果分别赋值给了a和b

两变量数值进行交换

a,b=b,a

多个变量同时进行赋值

Pi,t,n=0.0,1.0,1

取出三位数中的百位数十位数个位数(水仙花数)

for i in range(100,1000):
    i=n//100
    j=n//10%10
    k=n%10
    if n==i**3+j**3+k**3:
        print(n)

序列

常用序列:列表、元组、字典、集合、字符串

序列 常用操作:索引、长度、组合(序列相加)、重复(乘法)、分片、检查成员、遍历、最小值和最大值、求和

列表

排序a.sort()

翻转a.reverse()

复制与排序

赋值

from copy import *
a=[1,3,1,4,['i','love']]    #原始对象
b=a                         #赋值,穿对象的引用(类似于起了一个代称)
c=copy(a)                   #对象拷贝,浅拷贝
d=deepcopy(a)               #对象拷贝,深拷贝
a.append(520)               #修改对象a
a[4].append('you')          #修改对象a中的['a','b']数组对象
print('a=',a)
print('b=',b)               #改变原始对象数值,b会跟着改变
print('c=',c)
print('d=',d)

#运行结果
a= [1, 3, 1, 4, ['i', 'love', 'you'], 520]
b= [1, 3, 1, 4, ['i', 'love', 'you'], 520]
c= [1, 3, 1, 4, ['i', 'love', 'you']]
d= [1, 3, 1, 4, ['i', 'love']]

针对赋值、浅拷贝、深拷贝,需要有充分的理解

赋值:顾名思义,就是单纯的起一个别名,其内容和原始数据完全相同;原始数据发生变动,赋值的新变量(别名)对应的内容也会跟着变动。

浅拷贝copy:浅拷贝的结果,允许对原始对象的修改(无新元素变更)同步到浅拷贝获得的变量中,但是新增的元素不会同步。

深拷贝deepcopy:深拷贝的结果,即生成一个完全相同的、独立的变量,内容与原始数据相同,但是原始数据的变动均不会同步到新的变量中。

排序

from random import *
a=list(range(10))
print(a)                                                #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
shuffle(a)        #打乱顺序,原地
print(a)                                                #[4, 5, 8, 0, 3, 7, 1, 2, 9, 6]
a.sort()          #升序排序,原地
print(a)                                                #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
a.sort(reverse=True) #降序排序,原地
print(a)                                                #[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
b=sorted(a)       #产生一个新列表,升序排序
print(b)                                                #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
c=sorted(a,reverse=True)   #产生新列表,降序排序
print(c)                                                #[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
a.reverse()        #原地排序
print(a)                                                #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

一个易混知识点:

sort和sorted的区别

sort是对本身排序

sorted是生成一个新的变量

元组(tuple)

内置、有序、不可变序列;同一个元组中元素的类型可以不同。

tip:里面可以同时存在多种数据类型,如列表、整型等

a=(9,8,45,5.4,['as',45])

元组的创建

a=(78,8,8,88)
print(a)
b=45,4,5,455,4        #此处会默认将b定为元组
print(b)        
c=()
print(c)              #空元组
d=('i')
print(d)

元组和列表的区别:

1、tuple函数可以冻结列表,list函数可以融化元组。

2、元组的访问和处理速度比列表快。

3、元组可以用作字典的键,而列表不可。

4、列表可变,而元组不可变

5、如果元组中包含可变序列,此序列照样可变

x=([45,46],99)
x[0][0]=96
print(x)
x[0].append(95)
print(x)

([96, 46], 99)
([96, 46, 95], 99)

此外,列表和元组都是可以重复的

集合(set)

{}表示

内置、无序、可变序列每个元素类型可以不同

一个集合中的元素不能重复(此性质可以用于去重)

无序的性质导致python不一定会按照你输入数据的顺序进行输出

a_set={45,8,5,8,6}
print(a_set)

有关set的函数

a={45,122,3}

a.add(4)

a.pop()

a.clear()

del a

函数

形参与实参 

1、一般类型的数据作为参数相当于传值调用,可变类型的序列作为参数相当于传地址调用。

2、定义函数时不需要指定参数的类型和返回值的类型(不同于C语言)。

return语句

1、return语句用于函数体可以结束函数运行并返回return后的表达式。

2、没有return语句的函数或者return语句后没有表达式的函数,其返回值为None。

3、任何函数都可以作为表达式的一份子,也可以作为独立语句调用。

变量作用域

1、局部变量的引用速度比全局变量快,应考虑优先使用。

2、尽量避免使用全局变量。

3、一个变量已经在函数外定义,如果在函数内需要使用该变量,并将改变变量的结果反应到函数之外,可以在函数内用global声明这个变量。

4、在函数内部使用global关键字可以将一个变量声明为全局变量。

可变长度参数

1个*解包

def demo(*p):
    print(p)
demo(5,2,0)

(5, 2, 0)
Process finished with exit code 0

两个*解包:用于字典

def demo(**p):    #**关键字参数-解包操作符
    for item in p.items():
        print(item)
demo(a=5,b=2,c=0)

('a', 5)
('b', 2)
('c', 0)
Process finished with exit code 0

lamda表达式

f=lambda x,y,z:x+y+z
print(f(1,2,3))

f=lambda x,y=2,z=3:x+y+z
print(f(4))
print(f(4,z=5,y=6))

f=[(lambda x:x**2),(lambda x:x**3),(lambda x:x**4)]
print(f[1](3))

6
9
15
27

Process finished with exit code 0

实例

a_list=[1,3,1,4]
print(a_list)

b=list(map((lambda x:x*100),a_list))
print(b)

a_dict={'i':99,'love':98,'you':97}
b_list=sorted(a_dict)
print(b_list)

c_list=sorted(a_dict.values())
print(c_list)

d_list=sorted(a_dict.items(),key=lambda x:x[1])
print(d_list)

[1, 3, 1, 4]
[100, 300, 100, 400]
['i', 'love', 'you']
[97, 98, 99]
[('you', 97), ('love', 98), ('i', 99)]

Process finished with exit code 0

今天是备战蓝桥杯第一天,正值寒假假期,首先先把Python基础知识掌握的不好的先复习一下,随后就进行算法以及数据结构的学习,具备一定基础知识后,再进行真题训练。加油鸭!!!

你可能感兴趣的:(蓝桥杯备赛,蓝桥杯,职场和发展)