数分正式篇之第三节


欢迎来到煊煊周末小课堂!蹭了非常善良的热心学长的网课,六次感谢!让我们一起祝福他飞黄腾达!
因为之前的数分预备篇已经讲过一些Python的基础知识了,所以一些基础知识就不再讲了,让我们直接开始

常见的数据结构

列表

格式

L1=[1,2,'ab','abc']
print(L1[0])
print(L1[1:3])
#负索引,-1
print(L1[-1])

输出:

1
[2,'ab']
abc

列表的拼接

L1=[1,2,'ab']
L2=['hello']
print(L1+L2)

输出就可以实现拼接效果:

[1,2,'ab','hello']

追加元素

L1=[12,'a']
L1.append('abcd')
print(L1)

输出:

[12,'a','abcd']

删除元素

L1=[12,'a']
del L1[0]
print(L1)

输出:

['a']

弹出元素

(我觉得叫弹走元素更合适)

L1=[12,'a']
#弹走索引为1的元素
L1.pop(1)
print(L1)

输出:

[12]

如果pop里不加参数则是默认弹走最后一个元素

排序

L1=[1,3,2,5,4]
L1.sort()
print(L1)
#降序排列
L1.sort(reverse=True)
print(L1)

输出:

[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]

临时排序(不改变列表内实际顺序):

L1=[1,3,2,5,4]
print(sorted(L1))
print(L1)

输出:

[1, 2, 3, 4, 5]
[1, 3, 2, 5, 4]

计数

L1=[1,1,2,3]
#L1中1出现的次数
print(L1.count(1))

输出为2

元组

元组和字符串一样是不可变对象,意味着不能增加,更改,删除其中元素,除此外其它语法和列表一样,不再赘述。

格式

t1=(12,23,'ab','abc')

集合

可变对象,内部元素不重复,花括号表示

格式

s1={1,2,3,3,3,4}
print(s1)

输出:

{1,2,3,4}

增加

s1={1,2,3,3,3,4}
s1.add(5)
print(s1)

输出:

{1,2,3,4,5}

删除

s1={1,2,3,3,3,4}
s1.remove(3)
print(s1)

输出:

{1,2,4}

交集&

s1={1,2,3,4}
s2={2,3,4,5}
print(s1&s2)

输出:

{2,3,4}

并集|

s1={1,2,3,4}
s2={2,3,4,5}
print(s1|s2)

输出:

{1, 2, 3, 4, 5}

与非集^

与非集就是两个集合不一样的元素(相当于并集-交集)

s1={1,2,3,4}
s2={2,3,4,5}
print(s1^s2)

输出:

{1,5}

转换set

string='abcde'
s1=set(string)
print(s1)
#也可以把列表转换成集合,可以实现去重的功能
L1=[1,2,2,3]
s2=set(L1)
print(s2)

输出为:

{'b', 'c', 'd', 'e', 'a'}
{1, 2, 3}

第一个输出顺序是不一定的

字典

键值对,key-value,极快的查询速度,用空间换取时间

格式

dict1={'name':'andy','age':32,'city':'BJ'}

元素获取get

print(dict1.get('age'))

输出:32

增加元素

这个不用add,直接定义即可

dict1['sex']='female'
print(dict1)

输出:

{'name': 'andy', 'age': 32, 'city': 'BJ', 'sex': 'female'}

修改元素

也直接修改就行

dict1['sex']='male'
print(dict1)

输出:

{'name': 'andy', 'age': 32, 'city': 'BJ', 'sex': 'male'}

删除元素

del dict1['sex']
print(dict1]

输出:

{'name': 'andy', 'age': 32, 'city': 'BJ'}

遍历字典

for key,value in dict1.items():
	print(key+':',end=" ")
	print(value)

输出:

name: andy
age: 32
city: BJ

单独显示key,value:

dict1.key()
dict1.value()

常用内置序列函数

enumerate

返回列表索引和对应值

L1=[1,2,'ab','abc']
for i,value in enumerate(L1):
	print(i,value)

输出:

0 1
1 2
2 ab
3 abc

zip

将多个元素的序列配对

L1=['name','age','city']
L2=['andy',18,'BJ']
L3=list(zip(L1,L2))
print(L3)

输出(转换为字典类型也可以):

[('name', 'andy'), ('age', 18), ('city', 'BJ')]

reversed

逆序,不是按大小排列,只是颠倒顺序

L1=[1,3,2,4]
for i in reversed(L1):
	print(i)

输出:[4,2,3,1]

列表推导式

L1=[]
for i in range(10):
	L.append(i)
print(L1)

等价于

L=[i for i in range(10)]
print(L1)

再比如

L=[]
for i in range(10):
	if i>5:
		L.append(i)
print(L1)

等价于

L=[i for i in range(10) if i>5]
print(L1)

同理集合推导式就是变成花括号就行

函数

内置函数

比如绝对值函数abs(),最值函数max()
math包函数,之前有介绍过,这里就不记录了。

自定义函数

格式:

def sayHello():
	print("hello")
sayHello()
#再比如自定义绝对值函数
def myAbs(x):
	if x>=0:
		return x
	else:
		return -x
myAbs(-1)

匿名函数

关键字lambda

#求平方
(lambda x:x*x)(5)
#多个关键字
(lambda x,y:x+y)(2,3)

输出分别就是25和5

递归函数

经典例子求阶乘

def fact(n):
	if n==1:
		return 1
	return n*fact(n-1)

格式化输出函数

import math
print("pi的值:{}".format(math.pi))
print("我的优点:{}和{}".format("美丽","大方"))

输出:

pi的值:3.141592653589793
我的优点:美丽和大方

再见!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值