首页 > 解决方案 > 有人可以帮我删除输出列表中的空白点吗?我绑定了不同的方法,但似乎没有任何效果:(

问题描述

有人可以帮我删除输出列表中的空白点吗?我绑定了不同的方法,但似乎没有任何效果:(

功能:

def clean_list(values):
    values: []
    clean = []
    for i in values:
        if i not in clean:
            clean.append(i)
    print("Cleaned: {}".format(clean))

t01.py:

from functions import clean_list

values = input("values:")

clean_list(values)

问题:

Write and test the following function:

def clean_list(values):
    """
    -------------------------------------------------------
    Removes all duplicate values from a list: values contains
    only one copy of each of its integers. The order of values
    must be preserved.
    Use: clean_list(values)
    -------------------------------------------------------
    Parameters:
        values - a list of integers (list of int)
    Returns:
        None
    -------------------------------------------------------
    """
Add this function to the PyDev module functions.py. Test it from t01.py.

Reminder: this function does not return a list - it updates the list it takes as a parameter.

样品运行

Values: [1, 2, 0, 1, 4, 1, 1, 2, 2, 5, 4, 3, 1, 3, 3, 4, 2, 4, 3, 1, 3, 0, 3, 0, 0]
Cleaned: [1, 2, 0, 4, 5, 3]

我得到的输出:

values:1, 2, 0, 1, 4, 1, 1, 2, 2, 5, 4, 3, 1, 3, 3, 4, 2, 4, 3, 1, 3, 0, 3, 0, 0
Cleaned: ['1', ',', ' ', '2', '0', '4', '5', '3']

标签: python

解决方案


就像 Barmar 说的,你正在接受一个字符串,所以有两件事,你的数字是字符串,数据类型不是列表。因此,为了使其成为一个列表,我们可以在, 使用 map 时拆分字符串,将列表中的每个元素转换为int和 list 将对象转换为可迭代对象。最后我想说,为了完成你的目标set是你的目标。

所以下面我提供了一个你应该做什么的例子。

def clean_list(values):
    values = list(map(int,values.split(', ')))
    print(f"Cleaned {set(values)}")

推荐阅读