Python学习笔记

本文介绍了Python的列表推导式,用于简洁地生成二维初始化列表,并对比了用numpy创建数组的方法。此外,还讨论了Python中的random模块、三元表达式、list常用方法、numpy数组操作,包括os/sys模块的实用函数以及Python2与3的除法区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、列表推导式

今天在看代码时看到如下语句:

arr = [[col for col in range(num)] for row in range(num)]

这是Python中典型的使用列表推导式来生成一个初始化的二维列表。

这里arr=[[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]] 

Python是一门追求简洁的语言,使用列表推导式可以生成列表,具体语法如下:

var_name = [out_exp_res for out_exp in input_list if condition]
  out_exp_res:  列表生成元素表达式,可以是有返回值的函数。
  for out_exp in input_list:  迭代input_list将out_exp传入out_exp_res表达式中。
  if condition:  过滤条件,可以省略。

Python中生成数组除了可以使用列表推导式之外还可以使用numpy来生成。

import numpy as np
arr = np.zeros([10,10])

以上可以生成一个10x10的初始化为0的二维数组。

Python中除了有列表推导式之外,还有集合推导式、字典推导式。

d = {values:key for key,values in a.items()}
L=[1,1,1,2,2,2,3,4,5,6,7]
s = {i for i in L}

2、Python中random模块

Random模块基本方法
random.randint(1,9)随机取一个整数,包括首尾
random.uniform(1,9)随机取一个小数,包括首尾
random.choice(list)随机取list中的一个元素,支持字符串、列表、字典、元组、集合
random.sample(list,num)随机取list中的num个元素,支持字符串、列表、字典、元组、集合
random.shuffle(list)将list中顺序随机打乱,只支持list
  

3、python的三元表达式

val_A if condition else val_B

常用三元表达式来简写if语句

4、Python的list中常用方法

删除list中元素可用两种方法

list.remove(obj)  //obj必须为list中的元素
del list[index]   //根据下标删除元素

5、numpy

查看数组维度的方法

import numpy as np
np.shape(a)

numpy中的column_stack与row_stack方法

import numpy as np
a=np.array([1,2,3])
a=np.array([4,5,6])
a=np.array([7,8,9])
aa=np.column_stack((a,b,c))  //按列生成二维矩阵
bb=np.row_stack((a,b,c))     //按行生成二维矩阵
// 最后aa=array([[1,4,7],[2,5,8],[3,6,9]])
//     bb=array([[1,2,3],[4,5,6],[7,8,9]])


numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)

 详细请看https://www.cnblogs.com/antflow/p/7220798.html

numpy.meshgrid()

numpy.shape()

由numpy.array()产生的数组,可以使用如下方法快速改变数组内多个元素的值(在list中无效)

a[a<4]=0

6、os/sys模块

os.path.splitext(“文件路径”)    分离文件名与扩展名;默认返回(fname,fextension)元组

7、Python2与3的区别

除法:python3中不管操作数中有没有浮点数,都按浮点数除法计算,而python2中若操作数中没有浮点数时,按照向下取整进行,只有操作数中存在浮点数时才按浮点数除法计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值