【问题标题】:How to add a word to a small list value如何将单词添加到小列表值
【发布时间】:2020-04-30 07:06:56
【问题描述】:
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

【问题讨论】:

  • 你的问题格式能好一点吗?
  • 有人可以帮我吗?请
  • 你试过什么?什么不工作?
  • 您的问题到底是什么?请参考stackoverflow.com/help/how-to-ask
  • 对不起,这是我第一次使用堆栈溢出

标签: python list add


【解决方案1】:

您可以简单地使用 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

我们还可以将这些项目附加到一个新列表并返回:

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']

【讨论】:

    【解决方案2】:

    一个简单的方法是:

    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)
    

    这将提供所需的输出。

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

    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)
    

    【讨论】:

      猜你喜欢
      • 2012-05-09
      • 1970-01-01
      • 2020-09-19
      • 2018-07-28
      • 2011-07-27
      • 2013-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多