如何删除列表的第二个元素

时间:2019-06-05 13:33:33

标签: python

我得到一个像这样的列表let

所以我想删除$(document).ready(function() { for (let count = 1; count < 5; count++) { var address = "http://uk5-shop.com/stoff" + count; $.get(address, function(data) { var newSrc = $(data).find("#5cf7ba50095f4e0001e1519c").prop('src'); $('img[alt="stoff' + count + '"]').prop('src', newSrc); }); }; }); [[3,5],[5,3],[5,4],[0,2],[1,4],[1,2]],因为列表的第一个数字为[5,4][1,2]

所以我尝试了

  1. 附加小清单
  2. 反转列表
  3. 删除列表

但是我不知道如何访问[5,4]和[1,2]

[5,3]

3 个答案:

答案 0 :(得分:3)

使用set跟踪访问过的内容,并仅在尚未访问时添加条目:

lst = [[3,5],[5,3],[5,4],[0,2],[1,4],[1,2]]

seen = set()
print([x for x in lst if not (x[0] in seen or seen.add(x[0]))])

# [[3, 5], [5, 3], [0, 2], [1, 4]]

答案 1 :(得分:1)

我的答案与奥斯汀的答案几乎相同。

a=[[3,5],[5,3],[5,4],[0,2],[1,4],[1,2]]
dct={}
for x,y in a:
    if x not in dct:
        dct[x]=y 
print(list(dct.items()))

答案 2 :(得分:0)

使用itertools.groupby

[list(v)[0] for _,v in itertools.groupby(l,key=lambda x: x[0]) ]

[[3, 5], [5, 3], [0, 2], [1, 4]]

如果可以使用pandas groupby

l=[[3, 5], [5, 3], [5, 4], [0, 2], [1, 4], [1, 2]]

df=pd.DataFrame(l).groupby(0).first().reset_index().values.tolist() 

 [[0, 2], [1, 4], [3, 5], [5, 3]]

想要订购

sorted( df, key=lambda x : l.index(x))

[[3, 5], [5, 3], [0, 2], [1, 4]]