我有一个数组中的值列表:
departamentos = ["Piura", "Lima"]我想把它转换成:
departamentos = (("Piura", "Piura"), ("Lima", "Lima"),)我试过这个:
for i in departamentos:
mis_departamentos_b = mis_departamentos + ((i, i))但它只以元组的形式返回最后一个项。
mis_departamentos_b
('Lima', 'Lima')发布于 2019-01-05 04:38:05
怎么样
tuple((x,x) for x in departamentos)(('Piura', 'Piura'), ('Lima', 'Lima'))发布于 2019-01-05 04:45:01
除了@Claus的答案,您还可以使用map
tuple(map(lambda d: (d, d), departamentos))(('Piura', 'Piura'), ('Lima', 'Lima'))发布于 2019-01-05 04:49:55
还有另一种方法可以获得同样的结果,如下所示。
>>> departamentos = ["Piura", "Lima"]
>>> t = tuple(((name, ) * 2 for name in departamentos))
>>> t
(('Piura', 'Piura'), ('Lima', 'Lima'))
>>>详细说明:
>>> departamentos = ["Piura", "Lima"]
>>>
>>> t = ((name, ) * 2 for name in departamentos)
>>> t
<generator object <genexpr> at 0x000001D13A5F8518>
>>>
>>> tuple(t)
(('Piura', 'Piura'), ('Lima', 'Lima'))
>>>https://stackoverflow.com/questions/54048999
复制相似问题