Questions tagged «tuples»

在编程中,元组是简单的*产品类型*,表示类型的有序集合。

4
元组比较在Python中如何工作?
我一直在阅读Core Python编程书,作者展示了一个类似的示例: (4, 5) < (3, 5) # Equals false 所以,我想知道为什么/为什么等于假?python如何比较这两个元组? 顺便说一句,这本书没有解释。


13
在C#代码中使用.NET 4.0元组是否是糟糕的设计决策?
在.net 4中添加了Tuple类之后,我一直试图确定在设计中使用它们是否是一个错误的选择。按照我的看法,元组可以是编写结果类的捷径(我敢肯定,还有其他用途)。 所以这: public class ResultType { public string StringValue { get; set; } public int IntValue { get; set; } } public ResultType GetAClassedValue() { //..Do Some Stuff ResultType result = new ResultType { StringValue = "A String", IntValue = 2 }; return result; } 等效于此: public Tuple<string, int> …

7
Python将项目添加到元组
我有一些object.ID-s,我尝试将其作为元组存储在用户会话中。当我添加第一个时,它可以工作,但是元组看起来像,(u'2',)但是当我尝试使用mytuple = mytuple + new.idgot error 添加新的时can only concatenate tuple (not "unicode") to tuple。

2
从元组中获得一个价值
有没有一种方法可以使用表达式从Python元组中获取一个值? def tup(): return (3, "hello") i = 5 + tup() # I want to add just the three 我知道我可以这样做: (j, _) = tup() i = 5 + j 但这会给我的函数增加几十行,使其长度加倍。
152 python  tuples 

6
python元组到字典
对于元组,t = ((1, 'a'),(2, 'b')) dict(t)返回{1: 'a', 2: 'b'} 有没有一种好的方法{'a': 1, 'b': 2}(交换键和值)? 最终,我希望能够返回1给定'a'或2给定'b',也许转换为字典不是最好的方法。

6
将namedtuple转换成字典
我在python中有一个命名的tuple类 class Town(collections.namedtuple('Town', [ 'name', 'population', 'coordinates', 'population', 'capital', 'state_bird'])): # ... 我想将Town实例转换成字典。我不希望它与城镇中字段的名称或数量严格相关。 有没有一种方法可以编写它,以便我可以添加更多字段,或者传入完全不同的命名元组并获得字典。 我无法更改其他人代码中的原始类定义。因此,我需要以一个Town实例为例,并将其转换为字典。

4
HLists只不过是一种复杂的编写元组的方式吗?
我真的很想找出差异所在,并且更一般地说,是找出无法使用HLists的规范用例(或者,与常规列表相比不会产生任何好处)。 (我知道,TupleNScala 中有22个(我相信),而一个人只需要一个HList,但这不是我感兴趣的概念差异。) 我在下面的文字中标记了几个问题。可能实际上没有必要回答这些问题,它们更多的是指出我不清楚的事情,并在某些方向上指导讨论。 动机 我最近在SO上看到了几个答案,人们建议使用HLists(例如,由Shapeless提供),包括对此问题的删除答案。这引起了讨论,从而引发了这个问题。 介绍 在我看来,仅当您静态地知道元素的数量及其精确类型时,hlist才有用。该数字实际上并不是至关重要的,但似乎不太可能需要生成包含变化但静态精确知道的类型的元素的列表,而您却不能静态地知道它们的数量。问题1:例如,您是否可以编写一个循环示例?我的直觉是,拥有静态精确的hlist和静态未知数量的任意元素(相对于给定的类层次结构是任意的)只是不兼容的。 HList与元组 如果是这样,即您静态地知道数字和类型- 问题2:为什么不只使用n元组呢?当然,您可以安全地在HList上进行类型映射和折叠(也可以但不能进行安全地在HList上进行类型化productIterator),但是由于元素的数量和类型是静态已知的,因此您可以访问元组元素直接执行操作。 另一方面,如果f您在hlist上映射的函数是如此通用,以至于它接受所有元素- 问题3:为什么不通过productIterator.map?好的,方法重载可能是一个有趣的区别:如果我们有几个重载f的方法,则由hlist提供的更强的类型信息(与productIterator相比)可以使编译器选择更具体的f。但是,由于方法和函数不同,我不确定在Scala中是否真的可以使用。 H列表和用户输入 基于相同的假设,即您需要静态了解元素的数量和类型- 问题4:在元素依赖于任何类型的用户交互的情况下,可以使用hlists吗?例如,想象一下用循环内的元素填充hlist;从某个位置(UI,配置文件,actor交互,网络)读取元素,直到满足特定条件为止。hlist的类型是什么?与接口规范getElements类似:HList [...]应该与静态未知长度的列表一起使用,并允许系统中的组件A从组件B获取此类任意元素的列表。
144 scala  types  tuples  hlist  shapeless 

9
为什么我们需要Python(或任何不可变数据类型)中的元组?
我已经阅读了几本python教程(《 Dive Into Python》,其中之一),以及Python.org上的语言参考-我不明白为什么该语言需要元组。 元组与列表或集合相比没有任何方法,如果我必须将元组转换为集合或列表以对其进行排序,那么首先使用元组的意义是什么? 不变性? 为什么有人会关心变量是否位于与最初分配时不同的内存位置?Python不可变性的全部工作似乎都过分强调了。 在C / C ++中,如果我分配了一个指针并指向一些有效的内存,则在使用该地址之前,只要它不为null,我都不在乎该地址位于何处。 每当我引用该变量时,都不需要知道指针是否仍指向原始地址。我只是检查null并使用(或不使用)。 在Python中,当我分配一个字符串(或元组)并将其分配给x,然后修改该字符串时,为什么我不在乎它是否是原始对象?只要变量指向我的数据,那就很重要。 >>> x='hello' >>> id(x) 1234567 >>> x='good bye' >>> id(x) 5432167 x 仍然引用我想要的数据,为什么有人需要关心其ID是相同还是不同?
140 python  tuples 



13
如何将元组扩展为可变参数模板函数的参数?
考虑带有可变参数模板参数的模板化函数的情况: template<typename Tret, typename... T> Tret func(const T&... t); 现在,我有了一个t价值元组。如何func()使用元组值作为参数调用?我已经阅读了有关bind()函数对象,call()函数以及apply()其他一些过时文档中的函数。GNU GCC 4.4实现似乎call()在bind()该类中具有一个功能,但是关于该主题的文档很少。 有人建议使用手写递归黑客技术,但是可变参数模板参数的真正价值在于能够在上述情况下使用它们。 有没有人对is有解决方案,或暗示在哪里可以找到它?
135 c++  c++11  arguments  tuples 

4
如何从熊猫的两列中形成元组列
我有一个Pandas DataFrame,我想将'lat'和'long'列组合成一个元组。 <class 'pandas.core.frame.DataFrame'> Int64Index: 205482 entries, 0 to 209018 Data columns: Month 205482 non-null values Reported by 205482 non-null values Falls within 205482 non-null values Easting 205482 non-null values Northing 205482 non-null values Location 205482 non-null values Crime type 205482 non-null values long 205482 non-null values lat 205482 non-null …

12
为什么在C ++中使用元组并不常见?
为什么似乎没有人在C ++中使用元组,无论是Boost Tuple库还是TR1的标准库?我读了很多C ++代码,很少看到元组的用法,但是我经常看到很多地方元组可以解决许多问题(通常从函数返回多个值)。 元组可以让您做各种很酷的事情,例如: tie(a,b) = make_tuple(b,a); //swap a and b 那肯定比这更好: temp=a; a=b; b=temp; 当然,您始终可以这样做: swap(a,b); 但是,如果要轮换三个值怎么办?您可以使用元组来执行此操作: tie(a,b,c) = make_tuple(b,c,a); 元组还使从函数返回多个变量变得更加容易,这可能比交换值更常见。使用引用返回值当然不是很好。 我没有想到的元组有什么大的缺点吗?如果没有,为什么很少使用它们?他们慢吗?还是仅仅是人们不习惯他们?使用元组是个好主意吗?
124 c++  tuples 

17
Python:更改元组中的值
我是python的新手,所以这个问题可能有点基本。我有一个元组values,其中包含以下内容: ('275', '54000', '0.0', '5000.0', '0.0') 我想更改275此元组中的第一个值(即),但我知道元组是不可变的,因此values[0] = 200将不起作用。我该如何实现?
124 python  tuples 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.