python随记学习笔记

Posted 行码棋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python随记学习笔记相关的知识,希望对你有一定的参考价值。

--------不断更新中----------
⭐️本笔记仅自用,如要学习详细知识,请移步其他文章⭐️

内置函数

1. filter过滤函数

过滤列表元素, 第一个参数类型为 函数类型

lambda表达式可用于指定过滤列表元素的条件。

filter(lambda x: x % 3 == 0, [1, 2, 3])

指定将列表 [ 1 , 2 , 3 ] [1,2,3] [1,2,3]中能够被 3 3 3整除的元素过滤出来,其结果是 [ 3 ] [3] [3]

数据类型相关

字典

1. 键和值的类型

字典的键必须取不可变的数据类型,如字符串,元组,数字
值可以取任意数据类型

字符串

1. 字符串排序

因为字符串为不可变类型,无法对字符串进行排序。

考虑将字符串变为字符数组,对字符数组进行排序,然后再将字符数组拼接为字符串

s = "dsadw"

# 方式一
li = list(s)
li.sort()
print(''.join()) # 拼接

# 方式二
print(''.join(sorted(s)))

两种方式用了不一样的排序函数,下面做一下对比:

sort():

  • list内置的函数,只能对列表进行排序
  • 对列表排完序之后,列表本身改变。即输出列表是排完序的列表

sorted():

  • 可以对所有可迭代对象进行排序,对字符串排序后产生的是排完序的字符数组
  • 拍完序之后,可迭代对象本身不发生变化,因为产生了新的排完序的可迭代对象

2. maketrans和translate

一般 maketrans() 方法需要配合 translate() 方法一起使用。

str.maketrans(intab,outtab[,delchars])

intab – 需要转换的字符组成的字符串。
outtab – 转换的目标字符组成的字符串。
delchars 可选参数,表示要删除的字符组成的字符串。 返回一个字符映射转换表供 translate() 方法调用。

#!/usr/bin/python3
 
intab = "aeiou"
outtab = "12345"
deltab = "thw"
 
trans1 = str.maketrans(intab,outtab) # 创建字符映射转换表
trans2 = str.maketrans(intab,outtab,deltab) #创建字符映射转换表,并删除指定字符
 
test = "this is string example....wow!!!"
 
print(test.translate(trans1))
print(test.translate(trans2))

输出结果:

th3s 3s str3ng 2x1mpl2…w4w!!!
3s 3s sr3ng 2x1mpl2…4!!!

代码技巧

1. lambda表达式

lambda 能够定义的函数非常受限。函数的结果必须能够作为单独的表达式来计算,这意味着你不能使用多路 if... elif... else 比较,或者 try... except 语句。

和C++一样,lambda就是一个匿名函数,可以把它当成一个函数对象。

定义函数

# 定义加法函数
add = lambda x, y : x + y
res = add(1, 3) # res = 4 

传递函数参数

lambda表达式可用于指定过滤列表元素的条件。

filter(lambda x: x % 3 == 0, [1, 2, 3])

指定将列表 [ 1 , 2 , 3 ] [1,2,3] [1,2,3]中能够被 3 3 3整除的元素过滤出来,其结果是 [ 3 ] [3] [3]

2. 三元运算符

三元运算符类似C++的三元运算符? :, 可以有效进行代码压行

代码示例:
求100以内的奇数和

for i in range(100):
	res += i if i & 1 else 0

翻译之后:

for i in range(1000):
	if i & 1:
		res += i
	else:
		res += 0

包或模块使用

random

  • random.uniform(a, b)
    随机小数生成,生成 [ a , b ] [a,b] [a,b]范围小数

以上是关于python随记学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

8.8算法笔记强化随记

Python 学习笔记

c语言一个例子对比php学习随记

Python学习笔记二

python学习笔记-day8-2-python 异常处理 try except

python库学习笔记(threading库)