如何使用 : 分隔符创建列表?

Posted

技术标签:

【中文标题】如何使用 : 分隔符创建列表?【英文标题】:How can I create a list with : separator? 【发布时间】:2022-01-15 20:21:13 【问题描述】:

我用这个函数创建了一个整数列表:

def collect_ints():
    """It returns the list of numbers entered by the user"""

    ints = list()
    keep_asking = True
    while keep_asking:
        n = input()
        if n == "*":
            keep_asking = False
        if keep_asking:
            ints.append(int(n))
    return ints

但是,通过这种方式,我得到了一个带有逗号 (,) 分隔符的整数列表(我必须对其进行一些操作)。如何获得相同的列表但使用: 分隔符?

【问题讨论】:

见:Change a list separator delimiter to another (python)。或者,如果您不使用 python,请更正您问题中的标签。 【参考方案1】:

如果你想完全返回一个列表数据类型,在 python 中是不可能的。但是你可以使用字符串格式让它看起来像一个列表

def collect_ints():
    ints = list()
    keep_asking = True
    while keep_asking:
        n = input()
        if n == "*":
            keep_asking = False
        if keep_asking:
            ints.append(int(n))
        output = "["
        for i in ints:
            output += "".format(i, ":")
        output = output[:-1] + "]"
    return output

 

【讨论】:

【参考方案2】:

逗号用于显示列表。列表没有它们,打印语句只是打印它们。因此默认情况下无法将它们更改为其他字符。但是,如果您想将它们打印为带有 ':' 作为分隔符的字符串,我认为最好使用 'replace'。

def collect_ints():
    """It returns the list of numbers entered by the user"""

    ints = list()
    keep_asking = True
    while keep_asking:
        n = input()
        if n == "*":
            keep_asking = False
        if keep_asking:
            ints.append(int(n))
    return str(ints).replace(',', ':')

【讨论】:

以上是关于如何使用 : 分隔符创建列表?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用带有逗号分隔值的单元格通过apps脚本创建动态下拉列表

指南针分隔列表分隔符 - 如何设置为 - [重复]

如何动态生成用逗号分隔的类列表?

如何分隔逗号分隔的列表

如何在listview中使用jquery动态显示列表分隔符?

Tkinter:列表框分隔符、禁用项目、键盘导航?