首页 > TAG信息列表 > iterable-unpacking

在python中解压缩对象变量

我在想是否有某种方法可以解压缩对象属性.通常这样做涉及以下一系列: self.x = x self.y = y ... #etc. 但是应该有可能做得更好. 我在想类似的东西: def __init__(self,x,y,z): self.(x,y,z) = x,y,z 或者可能: 带x,y,z解包(个体) 甚至功能如下: def __init__(self,x,y,z): u

python-仅解压缩CSV阅读器的前几列?

读取CSV文件时: with open("foo.csv") as foo: for (a,b) in csv.reader(foo): .... 我得到错误 ValueError: too many values to unpack 当文件包含多于两列时. 有没有办法拆开前两列并忽略其余列? 我想我能做 with open("foo.csv") as foo: for row in csv.re

python-要解包的值不止一个

我运行以下代码: def score(string, dic): for string in dic: word,score,std = string.lower().split() dic[word]=float(score),float(std) v = sum(dic[word] for word in string) return float(v)/len(string) 并得到这个错误: word,sco

python元组提取的元组

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

django:使用namedtuple而不是dict来** kwargs?

为什么会成功 qs = Model.objects.filter(pk=1) kwargs = {'name': 'me', 'age_desc': 'getting older' } qs.update(**kwargs) 但是不是吗? qs = Model.objects.filter(pk=1) nt = collections.namedtuple('nt','

python – 改变* splat和** splatty-splat运算符对我的对象的作用

你如何覆盖解压缩语法* obj和** obj的结果? 例如,你能以某种方式创建一个行为如下的对象: >>> [*thing] ['a', 'b', 'c'] >>> [x for x in thing] ['d', 'e', 'f'] >>> {**thing} {'hello world': 'I a

python – 解包,扩展解包和嵌套扩展解包

考虑一下这些表达方式……请耐心等待…这是一个很长的清单…… (注意:重复一些表达式 – 这只是为了呈现“上下文”) a, b = 1, 2 # simple sequence assignment a, b = ['green', 'blue'] # list asqignment a, b = 'XY'

python – 明星运算符是什么意思?

参见英文答案 > What does ** (double star/asterisk) and * (star/asterisk) do for parameters?                                    19个 >            asterisk in function call                     

python – Tuple在任务中解压缩

我想在python声明中解压缩一个元组,如下所示: a = 5, *(6,7) 但这引发了一个SyntaxError.实现这样的目标最简洁的方法是什么? 到目前为止我提出的最好的是: a = tuple([5]+list((6,7))) 解决方法:你可以直接连接元组: >>> a = (5,)+(6, 7) >>> a (5, 6, 7)

如果我开始返回更多数据,则返回可解包值的可迭代值,这些值不会破坏客户端代码

假设你正在编写一个你打算公开的API. API中的函数quux返回一个列表或元组生成器,例如产量(foo,bar). 客户端代码通常会像这样使用它: for foo, bar in quux(whatever): # do stuff with foo and bar 现在,假设将来你可能想要开始与foo和bar一起返回baz.你现在不想退货,因为YAG

python – 仅将一些元组元素展开到变量列表

说我有以下代码: from urlparse import urlparse parsed_url = urlparse(url) scheme, netloc, path = parsed_url[0], parsed_url[1], parsed_url[2] 是否有更优雅或简短的方式来分配这三个变量?编写parsed_url三次看起来有点乱(我期待除了将parsed_url重命名为更短的内容之外的其

Python:是否有语法级支持解压缩,从元组,到* anonymous *函数的参数?

假设我们有以下内容: args = (4,7,5) def foo(a,b,c): return a*b%c Python方便地允许元组解包: foo(4,7,5) # returns 3 foo(*args) # returns foo(4,7,5), i.e. 3 所以我们不必这样做: foo(t[0], t[1], t[2]) # a repulsive, verbose, and error-pron

python – 初始化大量变量的最简单方法

假设您有大量需要初始化为None的变量.一个天真的方法是计算左边的变量数量,并在右边创建一个相同大小的列表: a, b, c, d, e, f, g, h, i, j = [None]*10 有没有办法做到这一点,而不必计算变量?如果经常使用这种模式,那么必须计算变量的数量会变得很繁琐.解决方法: a = b = c = d =

python – 迭代一对迭代,按属性排序

以排序顺序迭代一对迭代a和b的一种方法(最快的方法?)是链接它们并对链式迭代进行排序: for i in sorted(chain(a, b)): print i 例如,如果每个iterable的元素是: a: 4, 6, 1 b: 8, 3 然后这个构造将按顺序生成元素 1, 3, 4, 6, 8 但是,如果迭代迭代对象,则按对象的内存地址

如何解压函数返回的元组?

我想附加一个包含函数返回值列表的表,其中一些是元组: def get_foo_bar(): # do stuff return 'foo', 'bar' def get_apple(): # do stuff return 'apple' table = list() table.append([get_foo_bar(), get_apple()]) 这会产生: >>> table [

元组拆包结合ipython shell转义

如何在ipython中解压缩shell转义的输出? 示例(作品): In [1]: !locate .hgrc /home/wim/.hgrc /usr/share/doc/mercurial-common/examples/sample.hgrc In [2]: hgrcs = !locate .hgrc In [3]: hgrcs[0] Out[3]: '/home/wim/.hgrc' 但这不起作用: In [4]: hgrc0, *rest = !locate

python – 如何解压缩列表?

以这种方式从列表中提取数据时 line[0:3], line[3][:2], line[3][2:] 我收到一个数组和两个变量,应该是预期的: (['a', 'b', 'c'], 'd', 'e') 我需要操纵列表,以便最终结果 ('a', 'b', 'c', 'd', 'e') 怎么样?谢谢.

对所需属性(OOP)有“pythonic”方法吗?

我正在努力为下面的班级组织找到一个“pythonic”方法: 我有一个基类,其构造函数初始化了属性,例如: class Animal(object): def __init__(self, class_, species, is_domesticated): self.class_ = class_ self.species = species self.is_domesticate

如何解压缩列表(字典!)并作为分组元组返回?

我有一个由混合字典和列表组成的数据结构.我试图解压缩这个以获得键的元组和每个键的所有子值. 我正在使用列表推导,但只是没有让它工作.我哪里错了? 我看到了许多关于解压缩列表列表的其他答案(例如1,2),但是找不到单个密钥针对多个子值解包的示例. >期望的输出 – > [( ‘A’,1,2)