Tag: 元组

将元组转换为列表并返回

我目前正在使用平铺地图在pygame中为一款游戏开发地图编辑器。 这个级别在以下结构中由块组成(虽然大得多): level1 = ( (1,1,1,1,1,1) (1,0,0,0,0,1) (1,0,0,0,0,1) (1,0,0,0,0,1) (1,0,0,0,0,1) (1,1,1,1,1,1)) 其中“1”是一堵墙,“0”是空的一个街区。 下面的代码基本上是处理块types变化的代码: clicked = pygame.mouse.get_pressed() if clicked[0] == 1: currLevel[((mousey+cameraY)/60)][((mousex+cameraX)/60)] = 1 但是由于关卡存储在一个元组中,所以我无法改变不同块的值。 我怎样才能轻松地改变关卡中不同的价值? 编辑:解决! 感谢你们

python元组字典

对于元组, t = ((1, 'a'),(2, 'b')) dict(t)返回{1: 'a', 2: 'b'} 是否有一个很好的方法来获得{'a': 1, 'b': 2} (键和vals交换)? 我希望能够返回给定'a'或2给定'b',也许转换为字典不是最好的方法。

元组devise要求什么要求?

我正在查看元组的新C#特性。 我很好奇,元组devise要解决什么问题? 你在你的应用中使用了哪些元组? 更新 感谢迄今为止的答案,让我看看我是否有事情在我的脑海里。 已经指出一个元组的一个好例子是坐标。 这看起来正确吗? var coords = Tuple.Create(geoLat,geoLong); 然后像这样使用元组: var myLatlng = new google.maps.LatLng("+ coords.Item1 + ", "+ coords.Item2 + "); 那是对的吗?

在“元组”中比“Item1”,“Item2”更好地命名

有没有办法使用Tuple类,但提供其中的项目的名称? 例如: public Tuple<int, int, int int> GetOrderRelatedIds() 这将返回OrderGroupId,OrderTypeId,OrderSubTypeId和OrderRequirementId的ID。 这将是很好的,让我的方法的用户知道哪个是哪个。 (当你调用方法时,结果是result.Item1,result.Item2,result.Item3,result.Item4,不清楚哪一个是哪个。) (我知道我可以创build一个类来容纳所有的Ids,但是这些Ids已经拥有自己的类,并且为这个方法的返回值创build一个类似乎是愚蠢的。)

什么和何时使用Tuple?

请有人解释一下Tuple是什么以及如何在真实世界场景中使用它。 我想知道这可以丰富我的编码体验吗?

为什么在python 0,0 ==(0,0)等于(0,False)

在Python中(我仅用Python 3.6进行了检查,但我相信它也适用于以前的许多版本): (0, 0) == 0, 0 # results in a two element tuple: (False, 0) 0, 0 == (0, 0) # results in a two element tuple: (0, False) (0, 0) == (0, 0) # results in a boolean True 但: a = 0, 0 b = (0, 0) a == b # results […]

如何将元组展开成可变参数模板函数的参数?

考虑使用可变参数模板参数的模板函数的情况: template<typename Tret, typename… T> Tret func(const T&… t); 现在,我有一个值元组。 如何使用元组值作为参数调用func() ? 我已经阅读了有关bind()函数对象, call()函数,还有apply()函数在不同的一些现在已经过时的文档。 GNU GCC 4.4的实现似乎在bind()类中有一个call()函数,但是关于这个主题的文档很less。 有人提出手写recursion攻击,但可变参数模板参数的真正价值是能够在上面的情况下使用它们。 有没有人有一个解决scheme,或暗示在哪里阅读?

为什么在C ++中使用元组不是更常见?

为什么没有人在C ++中使用元组,无论是Boost Tuple库还是TR1的标准库? 我读过很多C ++代码,很less看到使用元组,但是我经常看到很多元组可以解决许多问题的地方(通常从函数返回多个值)。 元组允许你做这样的各种酷事: 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); 元组也使得从函数中返回多个variables要容易得多,这可能比交换值更为常见。 使用对返回值的引用当然不是很优雅。 我没有想到元组有什么大的缺点? 如果没有,为什么他们很less使用? 他们慢吗? 还是只是人们不习惯他们? 使用元组是一个好主意吗?

在Python中“(1,)== 1”的含义是什么?

我正在testing元组结构,当我使用==运算符时,发现它很奇怪: >>> (1,) == 1, Out: (False,) 当我将这两个expression式分配给一个variables时,结果是正确的: >>> a = (1,) >>> b = 1, >>> a==b Out: True 这个问题不同于我的观点中的Python元组尾随逗号语法规则 。 我要求==运算符之间的expression式组。

为什么我们需要Python中的元组(或任何不可变的数据types)?

我已经阅读了几个python教程(例如Dive Into Python)以及Python.org上的语言参考 – 我不明白为什么语言需要元组。 与列表或集合相比,元组没有任何方法,如果我必须将元组转换为集合或列表才能对其进行sorting,那么首先使用元组有什么意义? 不变性? 为什么有人关心一个variables是否存在于内存中与原来分配不同的地方? Python中不可变性的整个业务似乎过分强调。 在C / C ++中,如果我分配一个指针并指向一些有效的内存,我不关心地址的位置,只要它在我使用它之前不是空的。 每当我引用该variables时,我不需要知道指针是否仍然指向原始地址。 我只是检查null并使用它(或不)。 在Python中,当我分配一个string(或元组)分配给x,然后修改string,为什么我关心,如果它是原始对象? 只要variables指向我的数据,那就重要了。 >>> x='hello' >>> id(x) 1234567 >>> x='good bye' >>> id(x) 5432167 x仍然引用我想要的数据,为什么有人需要关心它的id是相同还是不同?