标签: tuples

python命名为字典的元组

我在python中有一个名为tuple的类

class Town(collections.namedtuple('Town', [
    'name', 
    'population',
    'coordinates',
    'population', 
    'capital', 
    'state_bird'])):
    # ...
Run Code Online (Sandbox Code Playgroud)

我想做的是将其变成字典.我承认python不是我强大的语言之一.关键是我不希望它与我所拥有的字段的名称或数字紧密相关.

有没有办法写它,以便我可以添加更多的字段,或传递一个完全不同的命名元组并获取字典.

编辑:我不能改变原来的类定义,因为它在别人的代码中.所以我需要一个城镇的实例并将其转换为字典.

python dictionary tuples namedtuple

126
推荐指数
3
解决办法
6万
查看次数

在元组列表中查找元素

我有一个列表'a'

a= [(1,2),(1,4),(3,5),(5,7)]
Run Code Online (Sandbox Code Playgroud)

我需要找到特定数字的所有元组.说它会是1

result = [(1,2),(1,4)]
Run Code Online (Sandbox Code Playgroud)

我怎么做?

python search tuples list

123
推荐指数
6
解决办法
30万
查看次数

什么以及何时使用元组?

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

.net c# tuples .net-4.0 c#-4.0

123
推荐指数
5
解决办法
11万
查看次数

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

为什么似乎没有人在C++中使用元组,无论是Boost元组库还是TR1的标准库?我已经阅读了很多C++代码,我很少看到元组的使用,但我经常看到很多地方元组会解决许多问题(通常从函数返回多个值).

元组允许你做这样的各种酷事:

tie(a,b) = make_tuple(b,a); //swap a and b
Run Code Online (Sandbox Code Playgroud)

这肯定比这更好:

temp=a;
a=b;
b=temp;
Run Code Online (Sandbox Code Playgroud)

当然你总能做到这一点:

swap(a,b);
Run Code Online (Sandbox Code Playgroud)

但是如果要旋转三个值怎么办?你可以用元组做到这一点:

tie(a,b,c) = make_tuple(b,c,a);
Run Code Online (Sandbox Code Playgroud)

元组还使得从函数返回多个变量变得更加容易,这可能是比交换值更常见的情况.使用对返回值的引用肯定不是很优雅.

我没有想到的元组有什么大的缺点吗?如果没有,为什么他们很少使用?他们慢了吗?或者只是人们不习惯他们?使用元组是个好主意吗?

c++ tuples

120
推荐指数
9
解决办法
5万
查看次数

120
推荐指数
5
解决办法
4万
查看次数

Python中"(1,)== 1"的含义是什么?

我正在测试元组结构,当我使用==运算符时,我发现它很奇怪:

>>>  (1,) == 1,
Out: (False,)
Run Code Online (Sandbox Code Playgroud)

当我将这两个表达式分配给变量时,结果为true:

>>> a = (1,)
>>> b = 1,
>>> a==b
Out: True
Run Code Online (Sandbox Code Playgroud)

这个问题与我视图中的Python元组尾随逗号语法规则不同.我问==运营商之间的表达群体.

python tuples equals-operator

118
推荐指数
3
解决办法
9718
查看次数

为什么在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
Run Code Online (Sandbox Code Playgroud)

但:

a = 0, 0
b = (0, 0)
a == b # results in a boolean True
Run Code Online (Sandbox Code Playgroud)

为什么两种方法的结果不同?相等运算符是否以不同方式处理元组?

python tuples operator-precedence

116
推荐指数
5
解决办法
8173
查看次数

在元组定义中使用尾随逗号的语法规则是什么?

在单个元素元组的情况下,需要尾随逗号.

a = ('foo',)
Run Code Online (Sandbox Code Playgroud)

那个有多个元素的元组怎么样?似乎尾随逗号是否存在,它们都是有效的.它是否正确?在我看来,使用尾随逗号更容易编辑.这是一种糟糕的编码风格吗?

a = ('foo1', 'foo2')
b = ('foo1', 'foo2',)
Run Code Online (Sandbox Code Playgroud)

python syntax tuples

105
推荐指数
7
解决办法
4万
查看次数

std :: tie是如何工作的?

我已经习惯了,std::tie没有多考虑它.它有效,所以我接受了:

auto test()
{
   int a, b;
   std::tie(a, b) = std::make_tuple(2, 3);
   // a is now 2, b is now 3
   return a + b; // 5
}
Run Code Online (Sandbox Code Playgroud)

但这个黑魔法是如何运作的呢?如何做一个临时的创建std::tie改变ab?我发现这更有趣,因为它是一个库功能,而不是语言功能,所以我们可以自己实现并理解它.

c++ tuples c++11

105
推荐指数
2
解决办法
2万
查看次数

元组(或数组)作为C#中的字典键

我想在C#中创建一个Dictionary查找表.我需要将一个3元组的值解析为一个字符串.我尝试使用数组作为键,但这不起作用,我不知道还能做什么.在这一点上,我正在考虑制作一本词典字典词典,但这看起来可能不是很漂亮,尽管我会在javascript中这样做.

c# dictionary tuples hashtable

104
推荐指数
5
解决办法
9万
查看次数