如何在列表中的元组和元组中获取数据?

时间:2016-12-23 16:26:43

标签: python list tuples

我试图找出一辆汽车在虚构的曼哈顿中所采用的路线。 我已经定义了起始位置,即(1,2)(在二维网格中)。

manhattan=[[1, 2, 3, 4, 5],
        [6, 7, 8, 9, 10],
        [11, 12, 13, 14, 15],
        [16, 17, 18, 19, 20]]

car_in_manhattan=8
car_unmerged = ([(index, row.index(car_in_manhattan)) for index, row in enumerate(manhattan) if car_in_manhattan in row])
car=list(itertools.chain(*car_unmerged))

我这样做是因为我不想列表中的列表

route1=car

路线中的第一个位置是汽车启动的位置。 我开始一个for循环,看看哪个人最接近我的车。需要拾取此人,此位置应附加到路线列表中。

打印此结果给出:

[1, 2, (.,.), (.,.), (.,.), (.,.), (.,.)] 

括号中的圆点是否正确填充,我故意将它们留空“空白”。

问题是,我不知道这个车的起始位置如何,(1,2)也可以在括号之间,就像所有其他位置一样。如果我是正确的话,这与元组有关吗?

提前致谢!

1 个答案:

答案 0 :(得分:0)

这样的东西?

a= [1, 2, (3,4), (5,6)] 
b=[(a[0],a[1])] + a[2:]
print b

输出:

[(1, 2), (3, 4), (5, 6)]

说明:

[(a[0],a[1])] + a[2:]

(a[0],a[1])   --> Create a tuples from 1st and 2nd element of list a
[(a[0],a[1])] --> Enclose it in a list.
a[2:]   --------> Slice list a, extract all elements starting from index position 2

[(a[0],a[1])] + a[2:] --> add both the list