【Python基础:十九、touple元组】教程文章相关的互联网学习教程文章

python – 返回包含特定元素的元组最干净的方法?【代码】

在python中,如果我有一个元组元组,就像这样:((1, 'foo'), (2, 'bar'), (3, 'baz'))什么是返回包含特定第一个元素的元组的第0个元素的最有效/干净/ pythonic方式.我假设它可以作为一个简单的单行程完成. 换句话说,如何使用’bar’返回2? 这是我正在寻找的笨重的等价物,如果不清楚的话:for tup in ((1, 'foo'), (2, 'bar'), (3, 'baz')):if tup[1] == 'bar':tup[0]解决方法:如果您想要所有这些值,请使用列表推导:>>> lis = ((1, ...

Python:元组赋值,同时转换类型【代码】

我正在将字符串中的制表符分隔值读入这样的对象:class Node(rect):def __init__(self, line):(self.id, self.x1, self.y1, self.x2, self.y2) = line.split('\t')这工作正常,但我想要将那些从字符串行读取的x和y坐标转换为浮点数.什么是最pythonic的方式来做到这一点?我想象的东西(self.id, float(self.x1), float(self.y1), float(self.x2), float(self.y2)) = line.split('\t')这当然不起作用.有没有一种优雅的方法来做到这一点...

python – 将元组的字符串转换为元组【代码】

如果我有一个看起来像元组的字符串,我怎么能把它变成一个元组?s = '(((3,),(4,2),(2,)),((1,),(2,4),(2,)))'我想把它变成一个包含其他元组的元组.t = tuple((((3,),(4,2),(2,)),((1,),(2,4),(2,))))不起作用,因为它甚至使(作为元组中的项目).解决方法:你需要使用ast.literal_eval:from ast import literal_eval s = '(((3,),(4,2),(2,)),((1,),(2,4),(2,)))'t = literal_eval(s) print(t) print(type(t)) (((3,), (4, 2), (2,)),...

python – 如何比较列表中的元组中的字符串【代码】

我有这个元组列表[(金额,名称)]:[(214.05, 'Charlie'), (153.57, 'Ben'),(213.88, 'Charlie')]我试图通过他们的名字来比较它们,如果有一个具有相同名称的元组,我想将这些数量加在一起. 输出将进入具有相同结构[(金额,名称)]的另一个列表. 我设法用这个提取名称部分:for i in range(0, len(spendList)):print(spendList[i][1])输出:Charlie Ben Charlie如何比较名称?解决方法:执行这些操作的一种方法是使用dict.setdefault(),如...

在python元组中添加一个条目【代码】

我有一个代表x,y点的元组列表.我还列出了每个点的值列表.如何将它们组合成列表列表(即每个点[x,y,val]的一个条目)或元组列表? 谢谢解决方法:您不能向元组添加条目,因为元组是不可变的.但是您可以创建一个新的列表列表:new = [[x, y, val] for (x, y), val in zip(points, vals)]

python – 从列表中的元组中剥离字符【代码】

我有一个这种形式的元组列表(由数据库查询生成):[(280.73,), (281.359,), (280.630,)]我想删除()和逗号来实现这样的东西,使其更加兼容,形成一个JSON.[280.73,281.359,280.630]最简单的方法是什么?解决方法:最简单的可能是通过列表理解:cleaned = [i[0] for i in [(280.73,), (281.359,), (280.630,)]]

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

假设我们有以下内容:args = (4,7,5) def foo(a,b,c): return a*b%cPython方便地允许元组解包: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-prone synonym现在假设我们有一个类似的3元组列表,并希望每个元组t都有一个foo(t)列表.有“一种明显的方法”:list(map(lambda t: foo(*t), listoftuples))但现...

python – 元组的子元素【代码】

参见英文答案 > Getting the subsets of a set in Python 7个我该如何生成[(0,), (1,), (2,), (0,1), (0,2), (1,2), (0,1,2)]以编程方式(即,不用手写出所有东西)?也就是说,元组(0,1,2)的所有非空元组的列表. (注意,这不是要求子集而是要求子数.)解决方法: >>> from itertools import combinations >>> t = (0, 1, 2) >>> print [subset for r in range(1,4) for subset in itertools.combinat...

python – 检查元组的列表,其中元组的第一个元素由定义的字符串指定【代码】

这个问题类似于Check that list of tuples has tuple with 1st element as defined string,但没有人正确回答“通配符”问题. 说我有[(‘A’,2),(‘A’,1),(‘B’,0.2)] 我想确定FIRST元素为A的元组.如何返回以下内容? [(‘A’,2),(‘A’,1)]解决方法:您可以使用Python的filter函数,如下所示:l = [('A', 2), ('A', 1), ('B', 0.2)] print filter(lambda x: x[0] == 'A', l)赠送:[('A', 2), ('A', 1)]

如何通过传递Python中的函数返回的列表或元组来切割列表?【代码】

我有lambda函数如下:e_by_p = 20 prange_py = lambda x: (e_by_p*x-e_by_p, e_by_p*x)所以产出如下:prange_py(1) # (0, 20) prange_py(2) # (20,40) prange_py(3) # (40, 60) # goes like that所以我希望用这个函数返回的值来切割列表.例如,假设我有一个列表如下:numbers = list(range(100,200)) # This is a default way to slice numbers[0:20] # [100, ..., 119] # Using my function, passing <x> arg as 1 numbers[prange(...

Python如何将dict列表转换为元组列表【代码】

我有一个dict列表,如下所示:list=[{u'hello':['001', 3], u'word':['003', 1], u'boy':['002', 2]}, {u'dad':['007', 3], u'mom':['005', 3], u'honey':['002', 2]} ] 我需要的是迭代我的列表,以创建这样的元组列表:new_list=[('hello','001', 3), ('word','003',1), ('boy','002', 2)('dad','007',3), ('mom', '005', 3), ('honey','002',2)]注意!零(‘001’,003’等等)的数字必须考虑为字符串. 有没有人可以帮助我?解决方法:...

python – 将列表作为单个元素插入元组【代码】

我想从几个不同的元素创建一个元组,其中一个是列表,但我希望在创建元组时将此列表转换为单个元素.a = range(0,10) b = 'a' c = 3 tuple_ex = (a,b,c)tuple_ex中存储的值为:([0,1,2,3,4,5,6,7,8,9],’a’,3) 我希望存储在tuple_ex中的值是:(0,1,2,3,4,5,6,7,8,9,’a’,3) 有一种简单的方法可以做到这一点,还是我需要编码?解决方法:您可以使用Python3的解包:a = range(0,10) b = 'a' c = 3 t = (*a,b,c)输出:(0, 1, 2, 3, 4, 5,...

python – 将字符串转换为元组【代码】

我有一个像这样的字符串: ‘|动作与冒险|戏剧|科幻小说|幻想|’ 如何将其转换为元组或列表? 谢谢.解决方法: >>> s = '|Action and Adventure|Drama|Science-Fiction|Fantasy|' >>> >>> [item for item in s.split('|') if item.strip()] ['Action and Adventure', 'Drama', 'Science-Fiction', 'Fantasy'] >>> 如果你想要一个元组,那么:>>> tuple(item for item in s.split('|') if item.strip()) ('Action and Adventure', 'D...

Python自定义排序,由元组的两个元素区别【代码】

我是Python的自定义排序功能的新手,但我确信可以完成以下任务.我有一个元组列表,每个元组看起来像这样:(some_int, some_int2, string)我想通过some_int和some_int2之间的下降差异对列表进行排序,即这两个整数之间的最大差异应该在列表的头部.可以安全地假设some_int2总是大于some_int. 谢谢你们.解决方法: mylist.sort(key=lambda t: t[0] - t[1])注意我将以“错误”的顺序减去它们,这意味着差异将全部变为负数,从而将最大的数量排...

Python:获取元组列表中的最小整数【代码】

我目前的计划是确定哪个是使用.curselection()突出显示的多个Tkinter列表框中的第一个条目,并将所有生成的元组合并到一个列表中,产生以下结果:tupleList = [(), (), ('24', '25', '26', '27'), (), (), (), ()]我想知道如何确定最低整数.使用.min(tupleList)只返回(),是列表中的最低条目,但我正在寻找一个返回24的方法. 在列表中的任何元组中获取最小整数的正确方法是什么?解决方法: >>> nums = [(), (), ('24', '25', '26', '27...