Как добавить список без добавления цитаты - PullRequest
0 голосов
/ 23 января 2019

У меня есть этот код:

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

add_peer_function()

Что приводит к:

['cisco,linux']

Мой вопрос заключается в том, как добавить список без квоты.Итак, такой результат:

[cisco,router]

Ответы [ 4 ]

0 голосов
/ 23 января 2019

Ну, я знаю два возможных пути, но первый из них быстрее:

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 понимание списка документация.

0 голосов
/ 23 января 2019

append принимает только один аргумент. Итак, your_list.append(something) добавит что-то к your_list. однако вы можете сделать что-то вроде ниже.

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

0 голосов
/ 23 января 2019

Python печатает объекты по умолчанию в соответствии с соглашением: строки заключаются в кавычки.

Если вы хотите получить другой формат, вы можете написать свой собственный форматер.

Для списков строк, общий шаблон в Python:

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

Заменить ',' другим разделителем, в конце концов.

Наконец, обратите внимание, что "cisco, linux" - это просто строка с комой, которая отличается от списка строк: ["cisco", "linux"].

0 голосов
/ 23 января 2019

Конечно, если вы добавите строку 'cisco,linux' в список, вы получите ['cisco,linux'], которое является строковым представлением этого списка в Python.1006 * строка.

Попробуйте:

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