2017-07-18 117 views
1

我想添加一个新的列表直到包含元组的旧列表。在一个简单的方法是这样的:将项目列表转换为项目元组列表

d = ['string', 1, 2, 3] 
dlist = list(zip(d, d)) 
dlist2 = list(zip(dlist, d)) 

但是这给了我:

[(('string', 'string'), 'string'), ((1, 1), 1), ((2, 2), 2), ((3, 3), 3)] 

而且我想:

[('string', 'string', 'string'), (1, 1, 1), (2, 2, 2), (3, 3, 3)] 

我能做些什么?

+0

你想知道如何从'dlist'到'dlist2'或从'd'到'dlist2'吗? – ayhan

回答

2

你可以简单地调用一个多个项目在zip,例如:

d = ['string',1,2,3] 
dlist2 = list(zip(d,d,d)) 

将输出正是你想要的......

但是,如果你真的想从dlist移动到dlist2和不直接从ddlist2你可以做你做了什么,但毕竟只是解压,用*

dlist = list(zip(d,d)) 
dlist2 = list(zip(dlist,d)) 
dlist2 = [(*item[0], item[1]) for item in dlist2]