首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(string,some_list)元组列表到[string,<来自some_list>]列表的列表

(string,some_list)元组列表到[string,<来自some_list>]列表的列表
EN

Stack Overflow用户
提问于 2016-02-05 09:29:36
回答 4查看 74关注 0票数 2

我有一个包含两个元素的元组列表。第一个元素是一个字符串,第二个元素是一个列表。我想要创建一个包含单个元组所有元素的列表。我尝试过使用append方法,但是它会返回一个空列表。我也尝试了list连接,但它只返回最后一个元组。

代码语言:javascript
复制
lista = [('una Tantum', ['Frasi latine']), ('Montagna', ['Montagna', 'Geomorfologia']), ('Ande', ['Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', u'Gruppi montuosi del Per\xf9', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia']), ('Ande', ['Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', u'Gruppi montuosi del Per\xf9', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia'])]
for x in lista:
    data = [x[0]]+x[1] # in this way the data variable is populated only with the last element e.g. data = ('Ande', ['Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', u'Gruppi montuosi del Per\xf9', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia'])
    print data

我也曾尝试过:

代码语言:javascript
复制
for x in lista:
   x[1].append(x[0])

但它还给了我一个空名单。请帮帮我

预期的结果是:

代码语言:javascript
复制
[['una Tantum', 'Frasi latine'], ['Montagna', 'Montagna', 'Geomorfologia'], ['Ande', 'Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', u'Gruppi montuosi del Per\xf9', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia'], ['Ande', 'Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', u'Gruppi montuosi del Per\xf9', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia']]
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-02-05 09:33:11

您可以将第一种方法转换为列表理解,以保留新列表中的所有扩展子列表。而且它比蟒蛇的常规循环更有节奏感。

代码语言:javascript
复制
>>> [[item]+sub_list for item,sub_list in lista]
[['una Tantum', 'Frasi latine'], ['Montagna', 'Montagna', 'Geomorfologia'], ['Ande', 'Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', u'Gruppi montuosi del Per\xf9', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia'], ['Ande', 'Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', u'Gruppi montuosi del Per\xf9', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia']]
票数 1
EN

Stack Overflow用户

发布于 2016-02-05 09:47:12

为了完整起见,在Python3.5中,您这样做:

代码语言:javascript
复制
>>> [[x, *l] for x,l in lista]
[['una Tantum', 'Frasi latine'], ['Montagna', 'Montagna', 'Geomorfologia'], ['Ande', 'Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', 'Gruppi montuosi del Perù', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia'], ['Ande', 'Ande', "Gruppi montuosi dell'Argentina", 'Gruppi montuosi del Cile', 'Gruppi montuosi del Perù', 'Gruppi montuosi della Bolivia', "Gruppi montuosi dell'Ecuador", 'Gruppi montuosi del Venezuela', 'Gruppi montuosi della Colombia']]
票数 0
EN

Stack Overflow用户

发布于 2016-02-05 10:48:13

地图(lambda:[x] + x1,[('A','Jay',‘嗨’),('B','Jay',‘Hello’)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35220526

复制
相关文章

相似问题

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