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

时间:2019-01-23 12:30:14

标签: python python-3.4

我有此代码:

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

add_peer_function()

结果为:

['cisco,linux']

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

[cisco,router]

4 个答案:

答案 0 :(得分:0)

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

如果要获取其他格式,可以编写自己的格式化程序。

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

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

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

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

答案 1 :(得分:0)

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

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文档。

答案 2 :(得分:-1)

当然,如果将字符串'cisco,linux'附加到列表中,则会得到['cisco,linux'],它是Python中此列表的字符串表示形式。

split字符串是什么。

尝试:

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

答案 3 :(得分:-1)

append仅接受一个参数。因此,your_list.append(something)将为your_list添加一些内容。但是,您可以执行以下操作。

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