在列表python中不附加重复项

2024-06-28 20:46:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我的代码是:

for datum in data :
        sick.append(datum[2])

结果是

sick=['J02', 'J02', 'J20', 'J20', 'J20', 'J20', 'J20', 'A08', 'J45','A08']

我想要的是

if sick[i] == sick[i+1], don't appned value

所以我想要的结果是

sick=['J02', 'J20', 'A08', 'J45','A08'] <-- this isn't removing duplicates. I just don't want to append "if sick[i] == sick[i+1]"

我该怎么办?你知道吗


Tags: 代码infordataifvaluedonappend
3条回答

你可以用以下方法

data = ['J02', 'J02', 'J20', 'J20', 'J20', 'J20', 'J20', 'A08', 'J45']
sick=[]

for datum in data:
    if datum not in data:
       sick.append(datum)

这将产生以下输出:

['J02', 'J20', 'A08', 'J45']

我的建议是:

for datum in data :
    if not datum in sick:
        sick.append(datum)

如果允许重复,那么这将起作用:

for datum in data:
    if len(sick) == 0 or sick[-1] != datum:
        sick.append(datum)

相关问题 更多 >