Python基础总结之常用内置方法总结

文章目录

  • 前言
  • 1、str
    • 1.1、内置方法:
    • 1.2、常用的内置方法
    • 1.3、String模块的一些方法
  • 2、list
    • 2.1、内置方法
    • 2.2、常用内置方法
  • 3、tupple
    • 3.1、内置方法
    • 3.2、常用内置方法
  • 4、dict
    • 4.1、内置方法
    • 4.2、常用内置方法
  • 5、其他
    • 5.1、几个sort的使用
    • 5.2、enumerate():根据可迭代对象创建枚举对象
    • 5.3、filter
    • 5.4、map() 会根据提供的函数对指定序列做映射。
    • 5.5、reduce()
    • 5.6、dir()
    • 5.7、eval()
    • 5.8、file()
    • 5.9、isinstance()
    • 5.10、round()
    • 5.11、set()
    • 5.12、zip()
    • 5.13、Format()

前言

由于一些原因,好久没更博客了,接下来会陆续总结出一些包含各方面的基础知识的文章(如数据库、Python、数据挖掘等),算是作为以后的“考前”(面试)回顾的资料吧。首先就写下关于Python基础的一些总结吧。

1、str

1.1、内置方法:

在这里插入图片描述
[‘capitalize’,‘casefold’,‘center’,‘count’,‘ncode’,‘endswith’,‘expandtabs’,‘find’,‘format’,‘format_map’,‘index’,‘isalnum’,‘isalpha’,‘isdecimal’,‘isdigit’‘isidentifier’,‘islower’,‘isnumeric’,‘isprintable’,‘isspace’,‘istitle’,‘isupper’,‘join’,‘ljust’,‘lower’,‘lstrip’,‘maketrans’,‘partition’,‘replace’,‘rfind’,‘rindex’,‘rjust’,‘rpartition’,‘rsplit’,‘rstrip’,‘split’,‘splitlines’,‘startswith’,‘strip’,‘swapcase’,‘title’,‘translate’,‘upper’,‘zfill’]

1.2、常用的内置方法

S.join(iterable)->str #将iterable拼接成(转化为)字符串
在这里插入图片描述

“”.join(list)#将list转化为字符串

S.replace(old,new[,count])->str #替换字符串中元素,返回一个新字符串。
在这里插入图片描述

S.split(sep,maxsplit)->list#将字符串分割为list
在这里插入图片描述

S.strip([chars])->str#剔除字符串中的特定字符
在这里插入图片描述

S.swapcase()->str#转化字符串的大小写字母
在这里插入图片描述

capitalize:Python capitalize()将字符串的第一个字母变成大写,其他字母变小写
在这里插入图片描述
S.islower()/isupper() #判断字符是否是全为大/小写
S.lower()/upper()#将字符串转化为大写或小写
在这里插入图片描述

maketrans()->:返回一张翻译表

#定义翻译表,然后对相应的字符串一个字一个字的去映射。与replace的区别:replace不能对每个字符进行一一映射,而translate可以
在这里插入图片描述
translate(table)->str#传入table进行映射处理
在这里插入图片描述

a="asdfsdafd123"
g = str.maketrans("abc","123")
print(a)
asdfsdafd123
print(a.translate(g))
1sdfsd1fd123

S.count(sub[,start[,end]])->int #返回某个字符(串)出现的次数`
在这里插入图片描述

S.find(sub[,star,end]) -> int #返回索引值
S.index()#同find方法一样,区别:若没有该值的索引则抛出异常。
在这里插入图片描述

a="hello world"
a.find("word")#找到返回初始的索引值
a.find("wordl")#未找到返回-1

S.format(*args,**kwargs)->str #格式化输出字符串
在这里插入图片描述

"my name is {0} and age is {1}".format("xiaoli",25)
"my name is {a}, i love {b}".format(a='pyer',b='apple')

S.isdigit()->bool #判断字符是否是数字
在这里插入图片描述

str.strip([chars])
参数
chars – 移除字符串头尾指定的字符序列。
返回值
返回移除字符串头尾指定的字符生成的新字符串。

1.3、String模块的一些方法

在这里插入图片描述

2、list

2.1、内置方法

在这里插入图片描述

2.2、常用内置方法

[‘append’,‘clear’,‘copy’,‘count’,‘extend’,‘index’,‘insert’,‘pop’,‘remove’,‘reverse’,‘sort’]

L.append()->None #添加元素到list末尾
在这里插入图片描述

L.insert(index,object)#在对应的index添加元素在这里插入图片描述

L.clear()->None #清空list所有元素在这里插入图片描述

L.pop([index])-|>item#剔除index的元素并返回
在这里插入图片描述

L.remove(value)->None#剔除list中的包含的第一项的value。在这里插入图片描述在这里插入图片描述

L.extend(iterable)->None #添加迭代器来扩展list在这里插入图片描述

L.reverse()#反转list

L.count(value)->int #查找list中某value出现的次数
在这里插入图片描述

L.sort(key)->None #只需要传入对应的key即可,原理就是拿key中的每个元素执行sort方法
在这里插入图片描述

a.sort(key=lambda x :x[],reverse=True)

L.copy()->list #生成一个新的list,存储地址不同

3、tupple

3.1、内置方法

在这里插入图片描述

3.2、常用内置方法

count()
index()

4、dict

4.1、内置方法

在这里插入图片描述

4.2、常用内置方法

[‘clear’, ‘copy’, ‘fromkeys’
, ‘get’, ‘items’, ‘keys’, ‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]

fromkeys(iterable,value=None)#通过传入iterable生成新的dict。
在这里插入图片描述
在这里插入图片描述

D.get(k[,d])->D[k]#传入k得到对应的value
在这里插入图片描述

D.items()->set #返回dict的子项item
在这里插入图片描述

D.update()#传入dict进行更新
在这里插入图片描述在这里插入图片描述

5、其他

5.1、几个sort的使用

sorted #传入对应的迭代器和key即可比较
在这里插入图片描述

字典如何去排序#sorted(dict.items(),key=lambdax:x[1])#dict.item()返回值为tuple,所以才能利用sored排序!
在这里插入图片描述

a.sort(key=lambda x :x[],reverse=True)#key最好用#声明按字典中key或者value进行排序
在这里插入图片描述

多级排序咋个办#使用sort方法中operator
在这里插入图片描述

sorted() 函数对所有可迭代的对象进行排序操作。

sort 与 sorted 区别:
1、sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
2、list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

语法
sorted 语法:

sorted(iterable[, cmp[, key[, reverse]]])
参数说明:

iterable – 可迭代对象。
cmp – 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
key – 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。
返回值
返回重新排序的列表。

>>>a = [5,7,6,3,4,1,2]
>>> b = sorted(a)       # 保留原列表
>>> a 
[5, 7, 6, 3, 4, 1, 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]>>> L=[('b',2),('a',1),('c',3),('d',4)]
>>> sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))   # 利用cmp函数
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]
>>> sorted(L, key=lambda x:x[1])               # 利用key
[('a', 1), ('b', 2), ('c', 3), ('d', 4)]>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>> sorted(students, key=lambda s: s[2])            # 按年龄排序
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]>>> sorted(students, key=lambda s: s[2], reverse=True)       # 按降序
[('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]
>>>

5.2、enumerate():根据可迭代对象创建枚举对象

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

语法
以下是 enumerate() 方法的语法:

enumerate(sequence, [start=0])
参数
sequence – 一个序列、迭代器或其他支持迭代对象。
start – 下标起始位置。
返回值
返回 enumerate(枚举) 对象。

>>>seasons = ['Spring', 'Summer', 'Fall', 'Winter']
>>> list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
>>> list(enumerate(seasons, start=1))       # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
>>>seq = ['one', 'two', 'three']
>>> for i, element in enumerate(seq):
...     print i, element
... 
0 one
1 two
2 three

5.3、filter

filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
语法
以下是 filter() 方法的语法:

filter(function, iterable)
参数
function – 判断函数。
iterable – 可迭代对象。
返回值
返回列表。

实例
以下展示了使用 filter 函数的实例:
过滤出列表中的所有奇数:
#!/usr/bin/python
# -*- coding: UTF-8 -*-def is_odd(n):return n % 2 == 1newlist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
print(newlist)
输出结果 :[1, 3, 5, 7, 9]

5.4、map() 会根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

map() 函数语法:
map(function, iterable, …)
参数
function – 函数
iterable – 一个或多个序列
返回值
Python 2.x 返回列表。
Python 3.x 返回迭代器

>>>def square(x) :            # 计算平方数
...     return x ** 2
... 
>>> map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]# 提供了两个列表,对相同位置的列表数据进行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

5.5、reduce()

函数会对参数序列中元素进行累积。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

语法
reduce() 函数语法:

reduce(function, iterable[, initializer])
参数
function – 函数,有两个参数
iterable – 可迭代对象
initializer – 可选,初始参数
返回值
返回函数计算结果。

实例
以下实例展示了 reduce() 的使用方法:
>>>def add(x, y) :            # 两数相加
...     return x + y
... 
>>> reduce(add, [1,2,3,4,5])   # 计算列表和:1+2+3+4+5
15
>>> reduce(lambda x, y: x+y, [1,2,3,4,5])  # 使用 lambda 匿名函数
15

5.6、dir()

dir() 函数不带参数时,返回当前范围内的变量、方法和定义的类型列表;带参数时,返回参数的属性、方法列表。如果参数包含方法__dir__(),该方法将被调用。如果参数不包含__dir__(),该方法将最大限度地收集参数信息。
dir 语法:

dir([object])
参数说明:

object – 对象、变量、类型。
返回值
返回模块的属性列表。

>>>dir()   #  获得当前模块的属性列表
['__builtins__', '__doc__', '__name__', '__package__', 'arr', 'myslice']
>>> dir([ ])    # 查看列表的方法
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

5.7、eval()

用来执行一个字符串表达式,并返回表达式的值。
语法
以下是 eval() 方法的语法:

eval(expression[, globals[, locals]])
参数
expression – 表达式。
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
返回值
返回表达式计算结果。

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

5.8、file()

用于创建一个 file 对象,它有一个别名叫 open(),更形象一些,它们是内置函数。参数是以字符串的形式传递的。

语法
以下是 file() 方法的语法:

file(name[, mode[, buffering]])
参数
name – 文件名
mode – 打开模式
buffering – 0 表示不缓冲,如果为 1 表示进行行缓冲,大于 1 为缓冲区大小。
返回值
文件对象。

实例
测试文件 test.txt,内容如下:RUNOOB1
RUNOOB2
>>>f = file('test.txt')
>>> f.read()
'RUNOOB1\nRUNOOB2\n'

5.9、isinstance()

来判断一个对象是否是一个已知的类型,类似 type()。

isinstance() 与 type() 区别:

type() 不会认为子类是一种父类类型,不考虑继承关系。

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

语法
以下是 isinstance() 方法的语法:

isinstance(object, classinfo)
参数
object – 实例对象。
classinfo – 可以是直接或间接类名、基本类型或者由它们组成的元组。
返回值
如果对象的类型与参数二的类型(classinfo)相同则返回 True,否则返回 False。。

实例
>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元组中的一个返回 True
True

5.10、round()

方法返回浮点数x的四舍五入值。

语法
以下是 round() 方法的语法:

round( x [, n] )
参数
x – 数值表达式。
n – 数值表达式。
返回值
返回浮点数x的四舍五入值。

round(80.23456, 2) :  80.23
round(100.000056, 3) :  100.0
round(-100.000056, 3) :  -100.0

5.11、set()

函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。

语法
set 语法:

class set([iterable])
参数说明:

iterable – 可迭代对象对象;
返回值
返回新的集合对象。

>>>x = set('runoob')
>>> y = set('google')
>>> x, y
(set(['b', 'r', 'u', 'o', 'n']), set(['e', 'o', 'g', 'l']))   # 重复的被删除

5.12、zip()

函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。

如果需要了解 Pyhton3 的应用,可以参考 Python3 zip()。

语法
zip 语法:

zip([iterable, …])
参数说明:

iterabl – 一个或多个迭代器;
返回值
返回元组列表。

实例
>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]

5.13、Format()

>>>"{} {}".format("hello", "world")    # 不设置指定位置,按默认顺序
'hello world'>>> "{0} {1}".format("hello", "world")  # 设置指定位置
'hello world'>>> "{1} {0} {1}".format("hello", "world")  # 设置指定位置
'world hello world'

数字格式化
下表展示了 str.format() 格式化数字的多种方法:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456394.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

线程的条件变量实例

情景1:Jack开着一辆出租车来到一个网站停车。看见没人就走了。过段时间。Susan来到网站准备乘车。可是没有来,于是就等着。过了一会Mike开着车来到了这个网站,Sunsan就上了Mike的车走了。如图所看到的:程序实现该情景:…

浅谈互联网寒冬与经济形势

文章目录前言:闲扯总结:前言: 作为刚进入职场一年多的小白来说,刚准备“猥琐发育涨经验”,却碰到这股互联网寒冬,也感到鸭梨山大。也许有人认为我在贩卖焦虑,但是现实真的很严峻。接下说下过去…

Java集合---LinkedList源码解析

一、源码解析1、 LinkedList类定义2、LinkedList数据结构原理3、私有属性4、构造方法5、元素添加add()及原理6、删除数据remove()7、数据获取get()8、数据复制clone()与toArray()9、遍历数据:Iterator()二、ListItr 一、源码解析 1、 LinkedList类定义。 public cla…

Mysql面试热身题集总结

文章目录前言1、热身题实践其他前言 一直有个想法:把面试需要的知识点全都总结一下,包括数据库,语言,算法,数据结构等知识,形成一个面试总结笔记,这样以后面试的时候只看这些文章回顾下就行了。…

Oracle执行计划解释

为什么80%的码农都做不了架构师?>>> 一.相关的概念 Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的。 对每个表都有一个rowid的伪列,但是表…

邓迎春绘画201702作品10

转载于:https://www.cnblogs.com/hanxiangmin/p/6439376.html

解决:FLASK中Warning: (1366, Incorrect string value: '\\xD6\\xD0\\xB9\\xFA\\xB1\\xEA...'

Flask项目中使用mysql数据库启动项目是发出警告: Warning: (1366, “Incorrect string value: ‘\xD6\xD0\xB9\xFA\xB1\xEA…’ for column ‘VARIABLE_VALUE’ at row 479/480/481”) 但是项目可以正常启动使用 如果想将次警告去掉需要导入一个模块 解决方法&…

Pandas常用操作总结

文章目录前言1、DF常用的两种创建方式方式一:通过np来生成方式二:通过字典来生成2、pandas常用的属性及方法3、Pandas Select(数据选择)4、Pandas Set_values设置值5、Pandas Nan处理缺失值方法一:剔除缺失值所在的行或列方法二:填…

jmeter跨线程组传值

在测试过程中,有时候需要jmeter跨线程组传值,jmeter本身又不具备此功能,那么,又该如何实现呢? 其实,我们可以通过BeanShell去实现。 实现过程如下: 1.线程组A中,使用正则表达式提取器…

BZOJ 3093: [Fdu校赛2012] A Famous Game

3093: [Fdu校赛2012] A Famous Game Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 248 Solved: 133[Submit][Status][Discuss]Description Mr. B and Mr. M like to play with balls. They have many balls colored in blue and red. Firstly, Mr. B randomly picks up N …

解决 Cannot open D:\Program Files\Anaconda3\Scripts\pip-script.py 问题

报错: Collecting pip Using cached https://files.pythonhosted.org/packages/30/db/9e38760b32e3e7f40cce46dd5fb107b8c73840df38f0046d8e6 514e675a1/pip-19.2.3-py2.py3-none-any.whl Installing collected packages: pip Found existing installation: pi…

解决:flask-sqlalchemy.exc.DataError: (pymysql.err.DataError) (1406数据库字段超出长度错误)

这个问题是说数据库user的password字段长度超出,修改长度后, 硬核方法删除migrations 文件夹 然后删除数据库中模型表格 python manage.py db init python manage.py db migrate python manage.py dbupgrate 三连击后,在重新运行后方能生…

浅谈开发中的MVVM模式及与MVP和MVC的区别

2019独角兽企业重金招聘Python工程师标准>>> 我记得前段时间分享了一篇文章《 浅谈Andorid开发中的MVP模式》(点击可跳转),反响不错,为了进一步介绍MVVM模式,还提前分享了实现Android中MVVM模式的一个关键技…

Azkaban简介及安装教程

前言: 最近在实际工作中玩到了Azkaban,虽然之前有简单的接触,但是真正用到的时候,才能体会到这个工具的实用性有多强。下面就写个系列文章来记录下azkaban从简介及安装配置再到简单使用的一个过程。 1、概述 1.1、为什么需要工…

azkaban的操作指南

前言: 最近在实际工作中玩到了Azkaban,虽然之前有简单的接触,但是真正用到的时候,才能体会到这个工具的实用性有多强,总结下真个操作过程。在总结整个操作过程之前先简单描述下工作流调度系统的优势。 1、工作流调度…

ActiveMq使用笔记

java JMS技术 .1. 什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步…

导入Anaconda中的第三方库运行时报错:ImportError: Missing required dependencies ['pandas']

今天碰到一个大坑,花了大半天才搞明白问题出在哪来。事情的经过是这样的:博主下午手贱把已将装好anaconda2给卸载了(同时装了2和3),然后再次安装anconda2后,却发现配置完pycharm的解释器后,代码…

BZOJ2005 NOI2010 能量采集 欧拉函数

题意&#xff1a;求$\sum\limits_{i 1}^N {\sum\limits_{j 1}^M {f(i,j)} } $&#xff0c;其中f(i,j)(0,0)与(i,j)连线上点的数量 题解&#xff1a; 如果一个点(x,y)在(0,0)与(x,y)的连线上&#xff0c;则有gcd(x,y)gcd(x,y)。因此f(i,j)(gcd(i,j)gcd(i,j))且i<i,j<j的…

python子类继承父类特性,pycharm上面已经提示继承了,为什么会报没有该特性的错误?

因为在子类里覆盖了父类的__init__ 如果需要调用父类用super class A(object):def __init__(self):self.a 1def fun(self):print self.aclass B(A):def __init__(self):self.b 2super(B, self).__init__()def fun(self):print self.aprint self.bB().fun()

Hadoop伪分布安装详解(一)

注&#xff1a;以下截图针对Ubuntu操作系统&#xff0c;对Centos步骤类似。请读者选择不同镜像即可。 第一部分&#xff1a;VMware WorkStation10 安装 1.安装好VMware10虚拟机软件并下载好Ubuntu16.04 LTS 64位版的镜像包 2.打开VMware10虚拟机软件&#xff0c;选择“创建新的…