首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从数组中生成元组

如何从数组中生成元组
EN

Stack Overflow用户
提问于 2019-01-05 04:33:49
回答 4查看 82关注 0票数 2

我有一个数组中的值列表:

代码语言:javascript
复制
 departamentos = ["Piura", "Lima"]

我想把它转换成:

代码语言:javascript
复制
 departamentos = (("Piura", "Piura"), ("Lima", "Lima"),)

我试过这个:

代码语言:javascript
复制
for i in departamentos:
     mis_departamentos_b  = mis_departamentos + ((i, i))

但它只以元组的形式返回最后一个项。

代码语言:javascript
复制
mis_departamentos_b
('Lima', 'Lima')
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-01-05 04:38:05

怎么样

代码语言:javascript
复制
tuple((x,x) for x in departamentos)
代码语言:javascript
复制
(('Piura', 'Piura'), ('Lima', 'Lima'))
票数 11
EN

Stack Overflow用户

发布于 2019-01-05 04:45:01

除了@Claus的答案,您还可以使用map

代码语言:javascript
复制
 tuple(map(lambda d: (d, d), departamentos))
代码语言:javascript
复制
(('Piura', 'Piura'), ('Lima', 'Lima'))
票数 0
EN

Stack Overflow用户

发布于 2019-01-05 04:49:55

还有另一种方法可以获得同样的结果,如下所示。

代码语言:javascript
复制
>>> departamentos = ["Piura", "Lima"]
>>> t = tuple(((name, ) * 2 for name in departamentos))
>>> t
(('Piura', 'Piura'), ('Lima', 'Lima'))
>>>

详细说明:

代码语言:javascript
复制
>>> departamentos = ["Piura", "Lima"]
>>>
>>> t = ((name, ) * 2 for name in departamentos)
>>> t
<generator object <genexpr> at 0x000001D13A5F8518>
>>>
>>> tuple(t)
(('Piura', 'Piura'), ('Lima', 'Lima'))
>>>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54048999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档