首页 > TAG信息列表 > list-comprehension

以pythonic方式遍历csv.reader()

我正在开发一个程序,该程序使用csv.reader()读取csv等.我想将与两个条件之一匹配的变量保存在两个不同的类变量中.因为我喜欢编写列表推导,并且试图以一种更加Python化的方式编写代码,所以我想知道这是否是正确的方法. csv.reader()似乎是一个生成器对象,因为我可以对其进行一次迭

带多个可迭代项的python列表理解中条件语句的位置

我很难理解为什么在多个可迭代对象的列表理解中相同条件语句的定位会影响结果. >>> boys = 'Jim','Jeff' >>> girls = 'Bonnie', 'Buffy' # This generates four tuples as expected >>> [(b,g) for b in boys for g in girls] [('Jim&

python-如何有条件地从pandas系列中选择项目

我正在使用由数字列表组成的Pandas系列,单词作为索引: $10 [1, 0, 1, 1, 1, 1, 1] $100 [0, 0, 0] $15 [1] $19 [0, 0] $1? [1, 1] $20

python-列出comprehension或map()或for循环,用于访问上一行以操纵数组

假设我有一个array(numpy array)A = [[1、2、3],[0、0、0],[0、0、0]],我想将零行处理为[2、3, 1],[3、1、2],因此最终数组为A = [[1、2、3],[2、3、1],[3、1、2]] 我可以通过如下所示的for循环来做到这一点: a = np.array([[1, 2, 3],[0, 0, 0],[0, 0, 0]]) for i in xrange(1,3):

python-连接除一个索引外的列表列表

是否有Python方式连接列表列表(不包括选择的索引)?例如,如果我有 [['a'], ['b', 'c'], ['d'], ['e', 'f', 'g']] 并且不希望索引1出现在结果中,我的串联列表如下所示: ['a', 'd', 'e', 'f', 'g']

我如何使用列表推导用包含字符串和数字的列表中的转义逗号替换逗号

我有一个包含字符串和数字元素的元组,并且我试图用转义的逗号替换元组元素之一中存在的逗号,例如输入如下所示 ('', 'i_like_cats', 'I like, cookies', 10319708L, "* / Item ID='10319708'", 'i_wish_was_an_oscar_meyer_weiner', 0.101021321) 我想要的输出是 ('

python:理解范围内的异常:是否可以获取循环变量的值?

假设我正在解析一个固定宽度的文件: file_format = {'year' : (0, 3, int), 'price' : (4, 10, float)} for lineno, line in enumerate(input_file): try: fields = {k : v[2](line[v[0]:v[1]]) for k, v in file_format.items()} except ValueError:

Python理解:对于x中的x,如果temp <= xmax,则为xlist中的temp:

for x in [temp for temp in xlist if temp<=xmax]: 这段代码有效,但是看起来像是启动for循环的不必要的外来口吃方式. 有没有更简洁的语法?解决方法:您想在这里做什么? for x in xlist: if x > xmax: continue 将工作. (您的for循环的其余部分做什么?)如果仅使用list-comp可

列出在Python中具有任意数量的变量的理解?

我要解决的问题是获取集合S,该集合保存X个整数的所有可能排列,以使所有整数均大于0,并且在添加时等于某个Y. 因此,如果X等于2,Y等于5,则可以通过以下列表理解来解决问题: [(a,b) for a in range(1,5) for b in range(1,5) if a+b==5] 但是,我试图解决任意X和任意Y的问题.我可以将

使用列表理解和集合

创建并打印同时满足以下两个条件的单词列表: >单词长度至少为8个字符; >由奇数字母组成的单词在小写单词集中;和>由偶数字母组成的单词在小写单词集中. 例如,单词“ ballooned”应包括在您的列表中,因为由奇数字母“ blond”形成的单词和由偶数字母“ aloe”形成的单词都在小写单词.同

有没有一种更Python的方法可以使用列表理解来循环多个相似的索引?

我有以下代码 A = [(X(x), Y(y), Z(z)) for x in range(N) for y in range(N) for z in range(N)] 它可以满足我的要求-根据我的函数X,Y和Z生成代表笛卡尔坐标的元组列表-但它不是很漂亮.我试过了 A = [(X(x), Y(y), Z(z)) for x, y, z in range(N)] 但这没用.有没有更优雅,更P

使用Python列表理解从嵌套元组字典结构检索数据

我有n个字典的元组.我想从包含特定键值对的该元组中检索字典. 我正在尝试尽可能地优雅地做到这一点,我认为列表理解是要走的路-但这不是基本的列表理解,我有点迷失了. 这显示了我正在尝试执行的操作的想法,但是当然不起作用: # 'data' is my n-tuple # 'myKey' is the key I want #

python元组提取的元组

假设您具有以下元组元组: test = ((1, '2'), (3, '4'), ('5', '6')) 如果要提取每个元组的第二个元素,则可以执行以下操作: secondonly = tuple([x[-1] for x in test]) 我也看到了: secondonly =元组([x表示单词,x表示测试中])< ---- **< ---它是如何工作的? 有人可以向我解释**

python列表理解的评估

我有一个列表理解,我希望它比循环等效的性能更好.但是,我不确定python如何评估理解力.如果首先评估宽度,则该操作非常昂贵,但是,似乎可以在每个步骤中对它们全部进行评估,只需要对数据进行一次评估并通过循环即可.我想知道的列表理解如下. [(Counter(x.keys()), x) for x in [Coun

定义列表时有条件地将项目添加到列表?

定义列表时,是否可以有条件地将项目添加到列表中? 这就是我的意思: l = [ Obj(1), Obj(2), Separator() if USE_SEPARATORS, Obj(3), Obj(4), Obj(5), Separator() if USE_SEPARATORS, Obj(6) ] 显然,上面的代码不起作用,但是有类似的方法吗? 目前

python-最短的计数方法?

假设我有一个MyClass列表.我想计算MyClass.SomeProperty设置为True的元素的数量(假设SomeProperty是一个布尔值,始终为True或False).我担心的是: >它应该运行得很快 >代码不应混淆阅读>它适用于任何情况(不仅是布尔值) 我知道我可以做: count = len([e for e in MyList if e.SomePro

如何使用映射或过滤器而不是列表推导为特定值过滤嵌套字典(Python方式)?

我有一本嵌套的字典. >>> foo = {'m': {'a': 10}, 'n': {'a': 20}} >>> 我想根据“ a”的值过滤特定的值. 我可以为此目的使用列表推导. >>> [foo[n] for n in foo if foo[n]['a'] == 10] [{'a': 10}] >>>

python-将多列表理解转换为单列表理解

我正在尝试使用列表理解来更改列表的值,我可以通过使用3个列表理解来做到这一点 clr = [1,2,2,1,3,1,2,3] clr= ["green" if i== 1 else i for i in clr] clr = ["yellow" if i==2 else i for i in clr] clr = ["black" if i == 3 else i for i in clr] 使用下面提到的代码会

python-列表中没有库的整数乘积

假设我不允许使用库. 如何计算列表中索引的乘积.假设所有整数都不小于0.当我尝试垂直计算索引时,问题变得更加棘手. bigList = [[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]] 使用numpy,

集合理解不适用于Pydev(Python)

{x for x in range(10)} 在IDLE上可以很好地工作,但是当我在Eclipse中尝试使用Pydev插件时,出现语法错误: Undefined variable: x 是因为Pydev不支持集合理解等吗?我该怎么做才能使这项工作? (这只是一个例子,不起作用.所有设定的理解对我都不起作用). (我正在使用Python 3)解决

python-给定相关数字列表,合并相关列表以创建不相交集

鉴于: [(1,2),(3,4),(5,6),(3,7),(5,7)] 输出: [set(1,2), set(3,4,5,6,7)] 说明: (1,2) (1,2), (3,4) (1,2), (3,4), (5,6) (1,2), (3,4,7), (5,6) (1,2), (3,4,7,5,6) 我写了一个糟糕的算法: Case 1: both numbers in pair are new (never seen before): Make a new set w

python-使用每个二进制数将二进制转换为数组

我正在尝试将每个1/0的二进制值转换为列表,但是我得到默认的二进制值而不是列表. 我有一个字符串,我将每个字符转换为二进制,它为我提供了一个列表,其中包含每个字符的字符串.现在,我试图将每个字符串拆分为值0/1的整数,但是我什么也没得到. # if message = "CC" message="CC" #

列表理解替换非浮点数或整数的项目

我有一个2项目清单. 输入样例: ['19(1,B7)', '20(1,B8)'] ['16 Hyp', '16 Hyp'] ['< 3.2', '38.3302615548213'] ['18.6086945477694', '121.561539536844'] 我需要查找任何不是float或int的东西并将其删除.所以我需要上面的列

在python中基于列表解析的条件上跳过元素

我有一个清单列表: List = [-2,9,4,-6,7,0,1,-4] 对于列表中小于零(0)的数字,我想跳过这些数字并形成另一个列表. 例:- List = [9,4,7,0,1] 这是我的一种怀疑,不确定如果我们能够实现.如果有可能实现,任何人都可以在这里发布.解决方法:你有很多选择来实现这一目标.使用list compr

Python – 展平词典列表

词典列表: data = [{ 'a':{'l':'Apple', 'b':'Milk', 'd':'Meatball'}, 'b':{'favourite':'coke', &#