如何在不添加引号的情况下附加列表

How to append a list withoud adding the quote

我有这个代码:

def add_peer_function():
    all_devices=[]
    all_devices.append("cisco,linux")
    print(all_devices)

add_peer_function()

这导致:

['cisco,linux']

我的问题是如何在没有配额的情况下追加列表。结果是这样的:

[cisco,router]

当然,如果您将字符串 'cisco,linux' 附加到列表,您会得到 ['cisco,linux'],这是此列表在 Python.

中的字符串表示形式

你什么是split字符串。

尝试:

>>> 'cisco,linux'.split(',')
['cisco', 'linux']

append 只接受一个参数。因此,your_list.append(something) 将向 your_list 添加一些内容。但是你可以像下面那样做。

your_list += [el for el in "cisco,linux".split(",")]

Python 默认情况下打印对象,其约定:字符串在引号之间。

如果你想得到另一种格式,你可以编写自己的格式化程序。

对于字符串列表,Python 中的常见模式是:

my_list = ['one', 'two', 'three']
print(', '.join(my_list))

最终用另一个分隔符替换','。

最后,注意 "cisco,linux" 只是一个带有逗号的字符串,它不同于字符串列表:["cisco", "linux"].

好吧,我知道两种可能的方法,但第一种更快:

1:

def add_peer_function():
    all_devices=[item for item in "cisco,linux".split(',')] # or `all_devices = ["cisco", "linux"]`
    print(', '.join(all_devices)) # A prettier way to print list Thanks to Philo

add_peer_function()

2:

def add_peer_function():
    all_devices=[] 
    for item in "cisco,linux".split(','): # or `all_devices = ["cisco", "linux"]`
        all_devices.append(item)

    print(', '.join(all_devices)) # A prettier way to print list Thanks to Philo

add_peer_function()

Python str.split 文档。

Python str.join 文档。

Python list comprehension 文档。