我有一个示例情况,其中有一个如下列表:
test = ['a-nyc','a-chi','b-sf','c-dal','a-phx','c-la']
此列表中的项目自然以某种方式排序,目的是保留每个前缀的第一个遇到的值,例如所需的结果如下所示:
['a-nyc', 'b-sf', 'c-dal']
有方便的方法吗?
看起来可以这样:
newl = []
prel = []
for i in range(len(test)):
if test[i].split('-')[0] not in prel:
newl.append(test[i])
else:
pass
prel.append(test[i].split('-')[0])
但不确定是否还有更多pythonic解决方案
答案 0 :(得分:0)
是的,您也可以尝试以下操作:
test = ['a-nyc','a-chi','b-sf','c-dal','a-phx','c-la']
prefix = []
newlist = []
for i in test:
if i.split('-')[0] not in prefix:
prefix.append(i.split('-')[0])
newlist.append(i)
print(newlist)
如果有任何疑问,请告诉我。 谢谢。