python日常注意小知识集锦(整理中...)

python日常注意小知识集锦

目录

  • sort()和sorted()
  • zip()和enumerate()
  • 字典
    • 赋值问题
    • get()方法和中括号方式
    • items()、keys()和values()
  • os模块
    • mkdir()和makedirs()
  • json模块
    • dumps()与loads()
    • dump()与load()
  • random模块
    • 随机挑选元素
  • 二维数组展平:ravel()和flatten()


sort()和sorted()

以列表结果为例

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

示例如下:
python日常注意小知识集锦(整理中...)_第1张图片

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()会重新分配内存,完成一次从原始数据到新内存空间的深拷贝,但原始数组并没有发生任何变化。

你可能感兴趣的:(知识点资源库,python)