网站首页 > 文章中心 > 其它

python3函数索引

作者:小编 更新时间:2023-10-04 14:27:48 浏览量:250人看过

python函数有哪些

①.、print()函数:打印字符串;

①.0、s.sppace()函数:判断是否为空格;

python3函数索引-图1

①.1、str.replace()函数:替换字符;

............

学习这个的吗Python3实用编程技巧进阶我

第一段:如何在列表,字典,集合中根据条件筛选数据?

问题1:

解决方法:

在Python中可以使用函数式编程,列表解析,字典解析集合解析等方式进行筛选.

①.)最通常的方法:迭代

from random import randintdata = [randint(-10,10) for x in range(10)] #在-10到10之间随机生成10个随机数newdata = list(filter(lambda x: x = 0, data))print(newdata)

结果和使用filter函数相同,但是使用列表解析所需的时间要比使用filter快很多,所以首选的方式就是列表解析,另外这两种方式都远快于迭代的方式.(推荐阅读:Python零基础入门在线网课)

第二段:如何为元组中的每个元素命名,提高程序的可读性?

实际案例:

如学生信息管理系统中数据为固定格式:

(名字,年龄,性别...)

学生数量很大,为了减少存储开销,对每个学生信息采用元组表示:

...

访问元组时,需要使用索引(index)来访问,

由此带来的问题是大量的索引会降低程序的可读性,

那么如何来解决这个问题呢?

有两种解决方案:

方案1:定义枚举类型,也就是定义一系列数值常量

python 8个常用内置函数解说

python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率.

①.、set()

当需要对一个列表进行去重操作的时候,set()函数就派上用场了.

用于创建一个集合,集合里的元素是无序且不重复的.集合对象创建后,还能使用并集、交集、差集功能.

对元组倒序操作:

使用参数:key,根据自定义规则,按字符串长度来排序:

根据自定义规则,对元组构成的列表进行排序:

map()会根据提供的函数,对指定的序列做映射,最终返回迭代器.也就是说map()函数会把序列里的每一个元素用指定的方法加工一遍,最终返回给你加工好的序列.举个例子,对列表里的每个数字作平方处理:

reduce()会对参数序列中元素进行累积.第第一段:第二个元素先进行函数操作,生成的结果再和第三个元素进行函数操作,以此类推,最终生成所有元素累积运算的结果.再举个例子,将字母连接成字符串.

filter()函数轻松完成了任务,它用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象.filter()函数和map()、reduce()函数类似,都是将序列里的每个元素映射到函数,最终返回结果.我们再试试,如何从许多单词里挑出包含字母w的单词.

enumerate翻译过来是枚举、列举的意思,所以说enumerate()函数用于对序列里的元素进行顺序标注,返回(元素、索引)组成的迭代器.再举个例子说明,对字符串进行标注,返回每个字母和其索引.

Python 数据处理(二十四)—— 索引和选择

这也可以用 .iloc 获取,通过使用位置索引来选择内容

可以使用 .get_indexer 获取多个索引:

警告 :

对于包含一个或多个缺失标签的列表,使用 .loc 或 [] 将不再重新索引,而是使用 .reindex

在以前的版本中,只要索引列表中存在至少一个有效标签,就可以使用 .loc[list-of-labels]

但是现在,只要索引列表中存在缺失的标签将引发 KeyError .推荐的替代方法是使用 .reindex() .

例如

索引列表的标签都存在

先前的版本

但是,现在

索引标签列表中包含不存在的标签,使用 reindex

另外,如果你只想选择有效的键,可以使用下面的方法,同时保留了数据的 dtype

对于 .reindex() ,如果有重复的索引将会引发异常

通常,您可以将所需的标签与当前轴做交集,然后重新索引

但是,如果你的索引结果包含重复标签,还是会引发异常

使用 sample() 方法可以从 Series 或 DataFrame 中随机选择行或列.

该方法默认会对行进行采样,并接受一个特定的行数、列数,或数据子集.

默认情况下, sample 每行最多返回一次,但也可以使用 replace 参数进行替换采样

默认情况下,每一行被选中的概率相等,但是如果你想让每一行有不同的概率,你可以为 sample 函数的 weights 参数设置抽样权值

这些权重可以是一个列表、一个 NumPy 数组或一个 Series ,但它们的长度必须与你要抽样的对象相同.

缺失的值将被视为权重为零,并且不允许使用 inf 值.如果权重之和不等于 1 ,则将所有权重除以权重之和,将其重新归一化.例如

当应用于 DataFrame 时,您可以通过简单地将列名作为字符串传递给 weights 作为采样权重(前提是您要采样的是行而不是列).

sample 还允许用户使用 axis 参数对列进行抽样.

最后,我们还可以使用 random_state 参数为 sample 的随机数生成器设置一个种子,它将接受一个整数(作为种子)或一个 NumPy RandomState 对象

当为该轴设置一个不存在的键时, .loc/[] 操作可以执行放大

在 Series 的情况下,这实际上是一个追加操作

可以通过 .loc 在任一轴上放大 DataFrame

这就像 DataFrame 的 append 操作

由于用 [] 做索引必须处理很多情况(单标签访问、分片、布尔索引等),所以需要一些开销来搞清楚你的意图

如果你只想访问一个标量值,最快的方法是使用 at 和 iat 方法,这两个方法在所有的数据结构上都实现了

与 loc 类似, at 提供了基于标签的标量查找,而 iat 提供了基于整数的查找,与 iloc 类似

同时,你也可以根据这些索引进行设置值

如果索引标签不存在,会放大数据

另一种常见的操作是使用布尔向量来过滤数据.运算符包括:

|(or) 、 (and) 、 ~ (not)

使用一个布尔向量来索引一个 Series ,其工作原理和 NumPy ndarray 一样.

您可以使用一个与 DataFrame 的索引长度相同的布尔向量从 DataFrame 中选择行

列表推导式和 Series 的 map 函数可用于产生更复杂的标准

我们可以使用布尔向量结合其他索引表达式,在多个轴上索引

iloc 支持两种布尔索引.如果索引器是一个布尔值 Series ,就会引发异常.

例如,在下面的例子中, df.iloc[s.values, 1] 是正确的.但是 df.iloc[s,1] 会引发 ValueError .

python3--内置函数

python的常用内置函数

①abs() 函数返回数字的绝对值

dict()

{} ? ? ?#创建一个空字典类似于u={},字典的存取方式一般为key-value

help('math')查看math模块的用处

help(a)查看列表list帮助信息

dir(help)

['__call__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']

a

①.0

next(it)

id(a)

a=["tom","marry","leblan"]

list(enumerate(a))

oct(10)

①.0. bin() 返回一个整数 int 或者长整数 long int 的二进制表示

bin(10)

'0b1010'

'0b1111'

①.1.eval() 函数用来执行一个字符串表达式,并返回表达式的值

f=open('test.txt')

bool()

False

bool(1)

True

bool(10)

bool(10.0)

isinstance(a,int)

isinstance(a,str)

class ? User(object):

? ? def__init__(self):

class Persons(User):

? ? ? ? ? super(Persons,self).__init__()

float(1)

①0

float(10)

①.0.0

iter(a)

for i in iter(a):

... ? ? ? ? print(i)

tuple(a)

s = "playbasketball"

len(s)

len(a)

class User(object):

? ?def __init__(self,name):

? ? ? ? ? ? self.name = name

? def get_name(self):

? ? ? ? ? ? return self.get_name

? @property

? ?def name(self):

? ? ? ? ? ?return self_name

list(b)

range(10)

range(0, 10)

class w(object):

a = w()

getattr(a,'s')

complex(1)

(1+0j)

complex("1")

max(b)

class Num(object):

...? ? a=1

.. print1 = Num()

print('a=',print1.a)

a= 1

print('b=',print1.b)

print('c=',print1.c)

delattr(Num,'b')

Traceback (most recent call last):? File "", line 1, inAttributeError: 'Num' object has no attribute 'b'

hash("tom")

a= set("tom")

b = set("marrt")

a,b

({'t', 'm', 'o'}, {'m', 't', 'a', 'r'})

ab#交集

{'t', 'm'}

a|b#并集

{'t', 'm', 'r', 'o', 'a'}

a-b#差集

{'o'}

python的index函数,获取最后一个

python的index函数可以获取列表中值的第一个索引.

如果要获取相同值的最后一个索引:

反向取得list后,用list的长度减去反转后出现的第一个索引再减1

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章