如果我问错了这个问题,很抱歉。
我创建了一个for循环,遍历这个元组列表。最终的结果应该是将元组从“make1”、“model2”、“color3”重新排列为“color3”、“make1”、“model2 2”。
我现在的指纹是:
1965 Pontiac GTO blue
1969 Plymouth Roadrunner yellow
2002 Chevrolet Z-28 Camero black如何抓取每个列表中的最后一个项目,并将其重新排列到列表中的第二个位置?
car1 = ['1965', 'Pontaic', 'GTO', 'blue']
car2 = ['1969', 'Plymouth', 'Roadrunner', 'yellow']
car3 = ['2002', 'Chevrolet', 'Z-28 Camero', 'black']
allCars = (car1, car2, car3)
for i in range(len(allCars)):
print(' '.join(allCars[i]))发布于 2022-04-10 18:53:50
如果预先知道每个列表的大小,则可以通过硬编码索引手动指定所需的重新排列:
for car in allCars:
print(' '.join([car[0], car[3], car[1], car[2]]))如果需要使其更加灵活(即能够处理任意插入索引,则可以使用同样的方法对列表切片和解压缩):
DEST_IDX = 1
for car in allCars:
print(' '.join([*car[:DEST_IDX], car[-1], *car[DEST_IDX:-1]]))这两项产出:
1965 blue Pontaic GTO
1969 yellow Plymouth Roadrunner
2002 black Chevrolet Z-28 Camero发布于 2022-04-10 19:02:52
只需再使用一个元组来指定所需的顺序:
car1 = ['1965', 'Pontaic', 'GTO', 'blue']
car2 = ['1969', 'Plymouth', 'Roadrunner', 'yellow']
car3 = ['2002', 'Chevrolet', 'Z-28 Camero', 'black']
cars = (car1, car2, car3)
order=(0,3,1,2)
for car in cars:
print(' '.join([car[i] for i in order]))指纹:
1965 blue Pontaic GTO
1969 yellow Plymouth Roadrunner
2002 black Chevrolet Z-28 Camerohttps://stackoverflow.com/questions/71819582
复制相似问题