【Python3 列表】教程文章相关的互联网学习教程文章

Python——列表去重【代码】

多种方法实现列表去重 待去重列表 lt1 = [1,3,2,3,4,5,3,5] 使用集合(结果为升序) lt2 = list(set(lt1))使用字典lt2 = list({}.fromkeys(lt1).keys())使用排序lt2 = sorted(set(lt1),key=lt1.index) 使用列表生成式lt2 = [] [lt2.append(i) for i in lt1 if not i in lt2]即:lt2 = [] for i in lt1:if i not in lt2:lt2.append(i)lambda + reduce(大才小用)func = lambda x,y:x if y in x else x + [y] lt2 = reduce(func...

Python列表操作,Lambda Expression【代码】

def myFunction(name):index = 0list = self.getList()index = (x => x.name == name)return index我想使用lamba表达式来查找python列表中元素的索引,就像在C#中一样.是否可以像在C#中一样使用lambda表达式来查找python列表中特定元素的索引.如果是这样,请提供一个例子解决方法:我认为这段代码更接近您的要求:def indexMatching(seq, condition):for i,x in enumerate(seq):if condition(x):return ireturn -1class Z(object):def...

python – 在列表理解中捕获并产生【代码】

我正在写一个生成器函数.我想知道是否有一个更好的(阅读:更多pythonic,理想情况下具有列表理解)方式来实现这样的事情:generator = gen() captures = [] for _ in xrange(x):foo = next(generator)directories.append(foo['name'])yield foo这里的关键是我不想捕获整个产量 – gen()返回的字典很大,这就是我使用生成器的原因.不过,我确实需要捕捉所有’名字’.我觉得有一种方法可以通过列表理解来实现这一点,但我只是没有看到它....

python – 在列表中查找邻居【代码】

我有一个清单:l=['a','>>','b','>>','d','e','f','g','>>','i','>>','>>','j','k','l','>>','>>']我需要提取’>>’的所有邻居并将它们分成若干组,其中它们之间的元素既不是’>>’或’>>’的neigbors. 对于示例列表,预期结果将是:[['a', 'b', 'd'], ['g', 'i', 'j'], ['l']]我尝试了很多东西,但所有简单的东西都以这种或那种方式失败了.目前唯一可行的代码是:def func(L,N):outer=[]inner=[]for i,e in enumerate(L):if e!=N:try...

Python列表理解的性能:在`if`部分重建lambda?【代码】

在Python中比较各种等效形式的过滤器(xs,lambda x:x!= el)时,我偶然发现了让我感到惊讶的事情.请考虑以下形式:def method1(xs, el):p = lambda x: x != elreturn [x for x in xs if p(x)]def method2(xs, el):return [x for x in xs if (lambda y: y != el)(x)]我希望Python只构建一次lambda,然后将它存储在一个临时变量中,这样两个表单也可以执行.也许甚至那个方法1会由于名称查找而表现更差. 但是当我对它们进行基准测试时,结...

Python列表和运算符【代码】

从学习Python艰难的方式:Python sees you mentioned mystuff and looks up that variable. It might have to look backwards to see if you created with =, look and see if it is a function argument, or maybe it’s a global variable. Either way it has to find the mystuff first. Once it finds mystuff it then hits the . (period) operator and startsto look at variables that are a part of mystuff. Since mystuf...

python – 像列表/元组一样的setter和getter【代码】

我有一个使用Numpy的项目.其中一个类需要一组称为权重的矩阵.出于几个原因,最好将所有这些矩阵值存储为一个长向量,并让每个单独的矩阵成为一个切片的视图.self.weightvector = asmatrix(rand(nweights, 1)) # All the weights as a vector self.weights = list() # A list of views that have the 'correct' shapefor i in range(...):self.weights.append(...)如果该类的用户执行类似foo.weights [i] = bar的操作,则这些权重将不再...

从C修改python列表【代码】

我有一个Python列表,我可以获取它的指针并将此指针地址传递给C进行处理MyPointer = TheList.as_pointer()现在我用ctypes将这个地址传递给C. 在C中,我可以执行以下操作:*(float*) MyPointer = 2.0f; //for example并且Python值会立即更新,现在的问题是:如何扩展或删除一些值(比如直接从C修改列表)因为我觉得这些数据是std :: vector如何做push_back等以快速方式调整大小(因为在Python中迭代几乎是缓慢的)解决方法:只给出该指针,您...

python – 在列表中查找.这可以在O(log n)中完成吗?【代码】

我有一个整数列表,我试图通过使用递归算法来识别整数列表中的倾角来实现O(log n).下降是紧随其后并且遵循等于或大于其自身的数字的任何数字,并且遵循,使得x> = dip <= y.只要它们旁边的数字大于或等于这些元素,就可以将第一个和最后一个元素视为倾角.我已经能够通过简单地遍历列表来实现O(n),但是我正在尝试使用类似于二进制搜索算法的方法来实现更快的结果.我只需要在列表中找到一个下降点.我的问题是当我将列表分成中点的左侧和右...

Python在列表的交集中维护顺序【代码】

我有一个列表A和列表B,我想从两个列表中获取常用元素,但是当我得到公共元素时,他们应该维护列表A的顺序. 首先,我开始将它们转换为设置和占用交叉点,但是存在维护顺序的问题.common = list(set(A).intersection(set(B)))所以我决定做列表理解:common = [i for i in A if i in B]我正进入(状态IndexError: too many indices for array解决方法:作为此类问题的一般答案您可以使用带有lambda x的排序函数:A.index(x)作为其键,它将根据...

Python:在列表推导中多次评估split函数?【代码】

有一段时间我一直想知道的事情.在此列表理解中,拆分是执行一次还是多次?l = [line.split()[i] for i in indexes]我目前以这种方式列出这样的理解:l = line.rstrip().split() l = [l for i in indexes]但我不确定,是否有必要.除了是/否答案,我肯定想知道,我可以通过CPU分析或阅读一些文档来了解自己.谢谢.解决方法:列表理解中左侧的表达式针对每个元素重新评估,是的. 如果您只需要评估一次,您需要完成您所做的事情;首先调用它并存...

从文本文件加载列表中找不到Python列表索引【代码】

分配是让用户输入4个数字,然后将它们存储在文本文件中,打开该文本文件,在不同的行上显示4个数字,然后获得这些数字的平均值并将其显示给用户.到目前为止,这是我的代码:__author__ = 'Luca Sorrentino'numbers = open("Numbers", 'r+') numbers.truncate() #OPENS THE FILE AND DELETES THE PREVIOUS CONTENT# Otherwise it prints out all the inputs into the file evernumbers = open("Numbers", 'a') #Opens the file so that ...

将成员变量添加到python列表对象【代码】

在python 3中,您可以在类声明后将成员变量添加到自定义对象:class a():passb = a() b.c = 1 #okay print(b.c) #outputs 1但是,对列表对象执行相同操作会引发异常:d = [] d.e = 1 #throws AttributeError: 'list' object has no attribute 'e'有人可以解释为什么会这样吗?解决方法:并非所有对象都支持任意属性分配. 大多数内置类型都没有,包括列表,元组,字符串,字节,字典,集合,布尔值,数字类型等.另一方面,函数对象和模块对象一样...

python – 列表中对元素的计数【代码】

a = [2,7,9] b = [[7,9],[1,2],[2,9]]列表[a]中有多少对匹配对元组[b]注意列表[a]中的对[7,9]和[2,9].即使对[1,2]包含2的数字,它也不会被计数,因为两个数字都不在列表[a]中.返回值应为2,匹配对的len.len(filter(lambda l:if_in(b,l),a))需要帮助创建一个if_in函数或一种简单的方法来编写这个函数.无论a或b的大小如何,我该如何使这个功能工作.解决方法:创建一个集并使用set.issuperset,检查a是否是每个子列表的超集:a = [2,7,9] b ...

Python:对列表中的特定元素进行排序【代码】

我有一个我想要排序的元素列表,但我不想对所有这些元素进行排序,只有那些具有特定状态的元素.例如,假设我有一个peole列表:lst = [Mary, John, Anna, Peter, Laura, Lisa, Steve]他们中的一些人有工作,让我们说[Anna,Lisa,Steve].我希望按照它们工作的小时数对它们进行排序(升序)并将它们移动到列表的开头,同时保持其余的顺序完全相同.那么让我们说他们工作的小时数如下:Anna.job.hours # 10 Lisa.job.hours # 5 Steve.job.ho...

PYTHON3 - 相关标签