如何将一个词添加到一个小列表值

How to add a word to a small list value

list=["Book","Glass","Book,"Watch","Doll,"Book"]
def a_list(list)

输出:

The List is:
Book
Glass
Book
Watch
Doll
Book

检查后的列表:

Book
Glass unique
Book
Watch unique
Doll unique
Book

一个简单的方法是:

ll=["Book","Glass","Book","Watch","Doll","Book"]
def a_list(l):
    for elem in l:
        if l.count(elem) > 1:
            print(elem)
        else:
            print(elem, "unique")

a_list(ll)

这将给出所需的输出。

如果您想更改列表并 return 它,应该使用相同的逻辑,但您应该更改元素本身,而不是打印,如下所示:

ll=["Book","Glass","Book","Watch","Doll","Book"]
def a_list(l):
    for i, elem in enumerate(l):
        if l.count(elem) > 1:
            l[i] = "{:} unique".format(elem)
    return l

lll = a_list(ll)
print(lll)

您可以简单地使用 collections.Counter 来检测计数不超过 1 的独特项目。

from collections import Counter

lst=["Book","Glass","Book","Watch","Doll","Book"]

def a_list(items):

    # Count the words
    counts = Counter(items)

    for item in items:

        # Found a non-unique item, don't add "unique" to it
        if counts[item] > 1:
            print(item)

        # Found a unique item, add "unique" to it
        else:
            print(item, "unique")

a_list(lst)

输出:

Book
Glass unique
Book
Watch unique
Doll unique
Book

我们还可以将这些项目附加到新列表中,return 也可以:

def a_list(items):
    counts = Counter(items)

    result = []
    for item in items:
        if counts[item] > 1:
            result.append(item)
        else:
            result.append(f"{item} unique")

    return result

print(a_list(lst))

或使用 list comprehension:

def a_list(items):
    counts = Counter(items)
    return [item if counts[item] > 1 else f"{item} unique" for item in items]

print(a_list(lst))

输出:

['Book', 'Glass unique', 'Book', 'Watch unique', 'Doll unique', 'Book']