python基础知识学习笔记(2)

整理一下python基础知识,以防忘记

文章目录

  • python基础知识学习笔记(2)
    • python简洁的一行代码

python简洁的一行代码

1、交换两个变量

# a=4 b= 5
a, b =  b, a
#print(a,b)
5,4

这种交换过程中无需使用临时变量或算术操作即可编写。
2、多个变量赋值

a, b, c, = 1, 3, 'hello world'
# print(a, b, c)
> 1, 3, hello world

可以使用逗号和变量一次性将多个值分配给变量。使用此技术,可以一次分配多个数据类型。
也可以使用列表将值分配给变量。

a, b, *c = [1, 2, 3, 4, 5]
print(a, b, c)
>1 3 [3, 4, 5]

注意: '*'号的作用是将列表中剩余的值赋予c, 如果没有心号程序会报错
3、列表中偶数的和
有很多方法可以做到这一点,但最好和最简单的方法是使用列表索引和sum函数。

a = [1, 2, 3, 4, 5, 6]
s = sum([num for num in a if num%2 == 0])
print(s)
>12

4、从列表中删除多个元素
del是Python中用于删除值的关键字

## Deleting all even
a = [1, 2, 3, 4, 5]
del a[1::2]
print(a)
>[1, 3, 5]

5、读取文件

lst = [line.strip() for line in open('data,txt')]
print(lst)

这里我们使用列表来处理

首先, 打开一个文本文件,并使用for循环,逐行读取。最后,使用strip删除所有不必要的空间。

通过使用列表功能,使代码更简单,更短。

list(open('data.txt')# Using with will also close the file after use
with open ("data.txt") as f:lst = [line.strip() for line in f ]
print(lst)

6、将数据写入文件

with open("data.txt",'a',newline='\n') as f:f.write("Python nb")

上面的代码首先创建一个文件data.txt(如果没有的话),然后它会在文件中写Python nb。
7、创建列表

lst = [i for i in range(1,10)]
print(lst)
>[1,2,3,4,5,6,7,8,9]
or
lst = list(range(1,10))
print(lst)

我们也可以使用相同的方法创建一个字符串列表。

lst = [("Hello " + i) for i in ["she", "he", "them"]]
print(lst)

8、映射列表或类型转换整个列表
有时在我们的项目中,我们需要更改列表中所有元素的数据类型。第一个方法可能就是使用循环,然后访问列表中的所有元素,然后一个接一个地更改元素中的数据类型。
这个方法是老派的,在python中有一个映射函数,可以为我们做这些工作。

a = list(map(int, ['1', '2', '3']))
>[1,2,3]
list(map(float,a)
>[1.0, 2.0, 3.0]
[float(i) for i in a]
>[1.0, 2.0, 3.0]

9、创建集合
用于创建列表的方法也可以用于创建集合。让我们使用包含范围内所有偶数的平方根方法来创建一个几何。

{x**2 for x in range(10) if x%2 == 0}
>{0,4,16,36, 64}

10、列表中使用if、else语句
11、用空格分隔的整数到一个列表

lis = list(map(int, input().split()))
print(lis)

12、Lambda函数
Lambda函数是一个小型匿名函数。lambda函数可以接受任意数量的参数,但只能有一个表达式。

# Function that returns aquare of any number
sqr = lambda x:x*x
sqr(10)
>100

13、检查列表中数字的存在

num = 5
if num in [1, 2, 3, 4, 5]:
print('present')
>present

14、斐波拉契数列
一组数字,其中每个数字是前面两个数字的和。最简单的1,1,2,3,5,8,13等等。可以使用列表推导式和for循环在一个范围内创建斐波那契数列。

fibo = [0, 1]
[fibo.append(fibo[-2] + fibo[-1]) for i in range(5)]
fibo
>[0, 1, 1, 2, 3, 5, 8]

15、质数
质数是一个只能被自身和1整除的数。例如:2、3、5、7等。为了在一个范围内生成质数,我们可以使用带有filter和lambda的list函数来生成质数。

list(filter(lambda x:all(x%y !=0 for y in range(2, x)), range(2, 13)))
>[2, 3, 5, 7, 11]

16、查找最大数值

findmax = lambda x,y:x if x>y else y
findmax(5, 14)
>14
or
max(5, 14)

使用lambda函数检查比较条件,并返回最大值,
或者使用max()内置函数。
17、线性代数
有时候我们需要将列表中的元素缩放2到5倍。

def scale(lst, x):return [i*x for i in lst]scale([2, 3, 4], 2)
>[4, 6, 8]

18、矩阵转置
需要将所有的行转换为列,反之亦然。在Python中,可以使用zip函数在一行代码中转置一个矩阵。

a = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
transpose = [list(i) for i in zip(*a)]
transpose
>[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

19、计数
当我们需要知道某个值在文本中出现的次数时,这是一个重要而有用的用例。在Python中,有re库可以来帮你完成这项工作。

import re
len(re.findall('python','python is a programming language.python is python .'))
>3

20、用其他文本替换文本

"python is a programming language.python is python".replace('python', 'java')
> java is a programming language. java is java

21、模拟抛硬币
从一组给定的选择中生成一些随机选择。

import random
random.choice(["Head", "Tail"])
>Head

22、生成组

groups = [(a, b) for a in ['a', 'b'] for b in [1, 2, 3]]
groups
>[('a', 1), ('a', 2), ('a', 3), ('b', 1), ('b', 2), ('b', 3)]

python基础知识学习笔记(2)相关推荐

  1. Python 基础知识学习笔记——NumPy

    Python基础知识学习笔记--NumPy 与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好.向量.矩阵和多维数组是数值计算中必不 ...

  2. Python 基础知识学习笔记——OpenCV(1)

    Python 基础知识学习笔记--OpenCV(1) OpenCV是一个开源的跨平台计算机视觉和机器学习软件库,它轻量而且高效,被广泛的使用. 整理一下OpenCV学习笔记,以防忘记. 文章目录 Py ...

  3. Python基础知识学习笔记——Matplotlib绘图

    Python基础知识学习笔记--Matplotlib绘图 整理python笔记,以防忘记 文章目录 Python基础知识学习笔记--Matplotlib绘图 一.绘图和可视化 1.导入模块 2.一个简 ...

  4. python基础知识学习笔记(1)

    python 基础知识学习笔记(1) 总结一下Python基础知识,以防忘记. 文章目录 python 基础知识学习笔记(1) 一.起步 1.python安装与编译环境 二.变量和简单数据类型 三.列 ...

  5. Python基础知识学习笔记(一)

    Python基础知识学习笔记(一) 文章目录 Python基础知识学习笔记(一) (一) 认识python 1.注释 2.变量及类型 3.关键字(标识符) (1)什么是关键字? (2)查看关键字 (3 ...

  6. Python基础语法学习笔记

    Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...

  7. opencv-python基础知识学习笔记

    opencv-python基础知识学习笔记 原博地址:https://www.cnblogs.com/silence-cho/p/10926248.html 目录: opencv-python基础知识 ...

  8. python基础入门学习笔记 (2)

    python基础入门学习笔记 2021年2月8日 1 编译器和解释器的区别 编译器/解释器:高级语言与机器之间的翻译官 2 值传递: print "a = ",a print &q ...

  9. oracle数据库基础知识总结,oracle数据库基础知识学习笔记

    oracle数据库基础知识学习笔记 一.oracle数据库类型: Char:  字符型(最大长度2000,定长.不足时以空格补充) Varchar2:字符型 最大长度 4000,变长,实际长度由存储的 ...

最新文章

  1. UC伯克利发现「没有免费午餐定理」加强版:每个神经网络,都是一个高维向量...
  2. 2015 NOIP day2 t2 信息传递 tarjan
  3. 解决TCP网络传输“粘包”问题
  4. Class.forName解析以及使用
  5. 倒计时321控制器设置
  6. Oracle12C的卸载过程
  7. ModuleNotFoundError: No module named '_ctypes' ERROR:Command errored out with exit status 1: python
  8. 【面向对象】面向对象的分析与设计概述
  9. 信息安全工程师笔记-网络安全测评技术与标准
  10. 2019-05-18 操作系统概论
  11. shell将脚本输出结果记录到日志文件
  12. MES(制造企业生产过程执行管理系统)
  13. 分享400个微信小程序模板和小程序设计模板
  14. Ron Patton之《软件测试》书籍(原书第2版)书籍
  15. 解决扫码枪中文输入法冲突问题
  16. (pattern),(?:pattern),(?=pattern)(?!pattern)不明白,让我豁然开朗的文章
  17. vue判断当前浏览器为IE低版本,给出升级提示;IE11及其他浏览器正常使用
  18. 无分类编址CIDR(构造超网)
  19. 关于Ubuntu18.04安装后没有gcc、make、网卡驱动的问题总结以及解决办法
  20. common.io中Tailer类读取文件内容乱码问题解决

热门文章

  1. 自定义搜索框,带提示信息的搜索框
  2. filter 函数 map 函数 reduce函数 介绍
  3. 2017年3月27日上午学习日志
  4. Git命令学习总结(-)
  5. 关于MFC自动生成的各个类的指针访问
  6. 2005.2.21 至 2005.8.8
  7. leetcode 1184 python
  8. 怎么用计算机弹that girl,抖音使用教程 抖音that girl 歌曲歌词介绍
  9. MySQL乱码问题如何排查
  10. 从分库分表到Database Plus,重新认知ShardingSphere