python日常注意小知识集锦

@toc


sort()和sorted()

以列表结果为例 - sort()没有结果返回,但对列表进行了排序(列表本身被改变) - sorted(),全局函数,有结果返回,注意:列表本身没有被改变。

示例如下:

zip()和enumerate()

  • zip()能完成任意两个或多个不同类型的列表的“缝合”
  • enumerate()只能为可迭代的序列(如列表、迭代器等)提供数值类型的索引封装

字典

赋值问题

  • 一般不要用赋值的方式来将一个字典赋值给另一个字典,因为这时它们指向的是同一个对象,对一个字典进行操作会影响另一个字典的元素。如果的确新建的字典的信息来自一个已经创建好了的字典,此时可以通过方法copy() 来完成。

get()方法和中括号方式

  • 通过 get()方法访问字典元素的方式与中括号的访问方式的区别:即使访问的键不存在,它也不会抛出异常,而是返回一个“None”。如果返回“None”不能满足要求,还可以返回提示信息。中括号的方式,若访问的键不存在,会报异常:KeyError。

items()、keys()和values()

  • items():显示字典的所有元素(即键/值对)
  • keys():显示所有的键
  • values():显示所有的值

os模块

mkdir()和makedirs()

当父目录不存在时,os.mkdir(path)不会创建目录,并会报错:FileNotFoundError,但是 os.makedirs(path)会创建父目录。

json模块

dumps()与loads()

  • json.dumps():将Python对象序列化(即编码)为JSON格式的字符串。
  • json.loads():将JSON格式的字符串反序列化(即解码)为Python对象。

dump()与load()

如果我们要处理的是文件而不是字符串,则可以使用json.dump()和json.load()来编码和解码JSON数据(即动词dump和load后面没有字母s)

random模块

随机挑选元素

  • choice():从众多元素中选取一个元素
  • choices():一次性随机挑选多个元素,可能会存在重复元素(有放回抽样)
  • sample():从指定序列中随机获取指定长度的片段,原有序列不会改变。一次性随机抽取多个不重复的元素
  • shuffle():对序列的所有元素进行打乱排序

二维数组展平:ravel()和flatten()

  • ravel()方法:返回的仅仅是原始数组的视图而已,原始数组本身并没有发生变化。
  • flatten()函数:同样可以完成将多维数组展平成一维数组的操作。不同于ravel()返回的是原始数组的视图,flatten()会重新分配内存,完成一次从原始数据到新内存空间的深拷贝,但原始数组并没有发生任何变化。

re模块

“ .* ”和“ .*? ”的区别

  • 点号表示任意非换行符的字符
  • 星号表示匹配它前面的字符0次或者任意多次
  • " .* ”表示匹配一串任意长度的字符串任意次
  • “.*? ”,就是匹配一个能满足要求的最短字符串 举一个例子,10个人肩并肩并排站着,使用“(.)”取到了第1个人左手到第10个人右手之间的所有东西,而使用“(.? )”取到的是“每个人”的左手和右手之间的东西。

一句话总结如下。 ① “.*”:贪婪模式,获取最长的满足条件的字符串。 ② “.*? ”:非贪婪模式,获取最短的能满足条件的字符串。

python 二维数组赋值_python日常注意小知识集锦相关推荐

  1. python 二维数组赋值_Python中多个变量的灵活处理

    我们都知道Python是一个非常灵活的语言,以至于如果它不是你的第一门语言,你会发现它总能给你各种各样的惊喜,让你忍不住惊叹:woc,还有这种操作.尤其我在系统地学习Python之前是Java后端出身 ...

  2. python给矩阵赋值_解决Python二维数组赋值问题

    解决Python二维数组赋值问题 当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值.因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个 ...

  3. python二维数组表示_python中二维数组中的数如何表达

    python二维数组如何挑选出一定范围的数值? 比如说有一个二维数组 13.1 13.2 13.3 13.4 15.5 15.0 45.2 22.3 22.3 3 [j for i in a for ...

  4. python二维数组操作_Python二维数组应用与操作

    课课家将会在这里为大家详细的介绍一下Python二维数组的相关应用方法以及定义方式,相信朋友们可以从中学习到更多的知识. Python数组的应用中在实际编程中是一个非常重要的应用技术,作为Python ...

  5. python 二维数组 长度_Python创建二维数组的正确姿势

    ↑↑↑点击上方"蓝字",关注"极客猴" 如果你喜欢极客猴,可以把我置顶或加为星标 题图:by watercolor.illustrations from Ins ...

  6. python二维数组求和_Python如何对二维数组求和

    Python对二维数组求和的方法:首先定义好一个二维数组:然后使用map函数对数组里每一个元素进行sum操作即可对二维数组求和. 关于二维数组求和的几种方法: a = [[1,2],[3,4],[5, ...

  7. Python二维数组赋值问题

    当我们采用s=[[0]*3]*2初始化一个数组,然后对s[0][0]进行赋值,改变的是第一列所有的值.因为用s = [[0]*3]*2 初始化数组,他表示的是指向这个列表的引用,所以当你修改一个值的时 ...

  8. python 对二维数组赋值

    最近做力扣遇到一个问题, obstacleGrid=[[0],[1]]m = len(obstacleGrid) n = len(obstacleGrid[0]) # 需要考虑m=1 n=1dp = ...

  9. python二维数组换行输出_python 二维数组切割Python读取键盘输入的2种方法

    Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...

最新文章

  1. lua脚本在redis集群中执行报错--Lua script attempted to access a non local key in a cluster node...
  2. winnet api 实现Get请求
  3. matlab输入集合,matlab关于集合的操作大全
  4. 信息学奥赛一本通(1116:最长平台)
  5. IDEA工具开发必备设置-极大提高开发效率
  6. 1.7 理解 Dropout
  7. Spring教程动画文字版2
  8. vendor分区的库无法调用system分区的库
  9. ubuntu 关闭 笔记本键盘背景灯
  10. 通过大白菜u盘启动工具备份/还原/重装/激活系统/修复引导 实操教程(上)
  11. Python爬虫之自动下载图片
  12. 新飞飞不显示服务器列表,新飞飞8月15日停服公告及停机期间游戏数据说明
  13. jetson nx fan auto pwm
  14. java写一个登录系统_用java写一个用户登陆界面
  15. 【BZOJ3875】【Ahoi2014】骑士游戏 SPFA处理有后效性动规
  16. 大数据时代,个人如何选择?
  17. 网页导航hot图标按钮
  18. java温度计刻度,[Java教程]树莓派 基于Web的温度计
  19. cam350删除东西
  20. 平面设计公司文件服务器,平面设计团队

热门文章

  1. J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接
  2. 在linux系统中安装VSCode(Visual Studio Code)
  3. Gamma校正及其OpenCV实现
  4. 版本效果MoonWarrior cocos2d-x版本 --1
  5. Cisco和H3C的两种不同动态***解决方案
  6. 整理一下手头的几个域名
  7. 对于python 3.x与python2.x中新型类的继承特性总结
  8. 预备作业01:你期望的师生关系是什么?
  9. YTU 2917: Shape系列-3
  10. 设计模式-----单例模式