目前我的名单是:
[[(881, 886), ('Twilight Sparkle', 'Rainbow Dash')],
[(883, 885), ('Applejack', 'Rarity')],
[(887, 884), ('Princess Celestia', 'Pinkie Pie')],
[(888, 882), ('Princess Luna', 'Fluttershy')]]
我希望它的格式是:
[(pid1, pname1, pid2, pname2),
(pid3, pname3, pid4, pname4),
(pid5, pname5, pid6, pname6),
(pid7, pname7, pid8, pname8)]
所以它是player1,name 1,player2,name 2
在前面的zip函数中这样做,并以不同的方式进行压缩,还是现在操作列表更好。你知道吗
我想做的
temp = x[1]
x[1] = x[2]
x[2] = x[3]
但我不知道怎么做。你知道吗
这是zip函数:
for i in range(0,length, 2):
pairs =zip(list[i],list[i+1])
在压缩之前,它的格式是:
[(881, 'Twilight Sparkle'), (886, 'Rainbow Dash'),
(883, 'Applejack'), (885, 'Rarity'),
(887, 'Princess Celestia'), (884, 'Pinkie Pie'),
(888, 'Princess Luna'), (882, 'Fluttershy')]
有没有办法更改zip函数,使其将前两个放在列表中,然后将后两个放在列表中,依此类推,但保持id、name、id、name的顺序,而不是将id和name组合在一起?你知道吗
我希望它的格式是:
[(881, 'Twilight Sparkle',886, 'Rainbow Dash'),
(883, 'Applejack',885, 'Rarity'),
(887, 'Princess Celestia', 884, 'Pinkie Pie'),
(888, 'Princess Luna', 882, 'Fluttershy')]
看起来您根本不想压缩,只想连接成对的元组:
输出:
您可以将^{} 与^{} 一起使用,以及列表理解作为:
返回:
其中
my_list
是问题中提到的初始列表列表理解可能是一种更好的方法:
以你为例
你会得到
这给了
相关问题 更多 >
编程相关推荐