我试图找出一个值在哪一行并且没有太多运气。我已经找到了许多在stackoverflow上使用列和行的例子,但是我们无法找到它,可能是因为它非常容易,我只是没有得到它。任何人都可以帮助我。
例如,我有一个从0到99开始的整数列表,分为10行和10列。假设我不知道列表中值的模式,值17驻留在哪一行?
列表就像这样
[[0,1,2,3,4,5,6,7,8,9], [10,11,12,13,14,15,16,17,18,19], ...]
答案 0 :(得分:2)
对于这个答案,我假设您要在列表列表中找到一个值的子列表,其中内部列表中的值不遵循特定模式,这将使子列表的计算值为琐碎的。
假设我们有一个列表lst
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11], [7, 12, 13]]
其中每个子列表都是“行”。如果你想知道一个值在哪个子列表/行中(让我们为演示取find == 7
),你可以这样做:
>>> find = 7
>>> [x[0] for x in enumerate(lst) if find in x[1]]
[2, 4]
find
在行/子列表2和4中,从零开始计数。
如果您想知道和行的行,可以发出:
>>> [(x[0],y[0]) for x in enumerate(lst) for y in enumerate(x[1]) if y[1] == find]
[(2, 1), (4, 0)]
find
位于第2行第1列,第4行第0列。