Вам гораздо лучше просто пройтись по своему 2D-списку, а затем проверить, находится ли последний элемент в вашем задании.
Вот пример:
# this is just a test list
gff_lijst = [[1, 0, 1, 0, 1, 0, 1, 5],
[1, 0, 1, 0, 1, 0, 1, 4],
[1, 0, 1, 0, 1, 0, 1, 3],
[1, 0, 1, 0, 1, 0, 1, 8],
[1, 0, 1, 0, 1, 0, 1, 9],
[1, 0, 1, 2, 1, 5, 1, 4],
[1, 0, 1, 0, 1, 0, 1, 6]]
# and a test dict
filter_genID = {3 : 'test', 4 : 'test2'}
gff_lijst_gefilterd = []
# iterate through your 2d list
# in this case i will be each list in your 2d list
for i in gff_lijst:
# check if the last element of the current list is in your dict keys
if i[-1] in filter_genID:
# if it is we add it to our list
gff_lijst_gefilterd.append(i)
print(gff_lijst_gefilterd)