Использование полосы для печати списка - PullRequest
0 голосов
/ 12 июля 2020

Команда полосы не работает со списком, содержащим другие списки. Например, [ “ one”,”two “,[ “four”,”five”]] Я хочу распечатать слова без [].

Есть ли способ обойти это?

Оказывается, я использовал append для создания списка из других списки. Вместо этого я использовал команду расширения, чтобы создать список без скобок [], так что теперь печать становится простой. Я не был знаком с командой расширения раньше.

Ответы [ 4 ]

0 голосов
/ 12 июля 2020
l=[ "one","two",[ "four","five"]]
for i in l:
    if(isinstance(i,list)):
        for j in i:
            print(j,end=' ');#sep by spaces
    else:
        print(i,end=' ');

вывод:

один два четыре пять

0 голосов
/ 12 июля 2020

Не совсем понятно, чего вы пытаетесь достичь, но если вы просто хотите иметь строковое представление без квадратных скобок, вы можете сделать это:

l = [..., [...]]
s =str(l).replace("[", ""). replace("]", "")
print(s)

Помните, что это может вводить в заблуждение во многих случаев, потому что элемент списка, который является списком списка, выглядит как несколько элементов списка строкового типа. Так что вы, возможно, захотите пересмотреть, почему вы хотите это сделать.

0 голосов
/ 12 июля 2020

Ваши [ и ] формируют список, в вашем примере - вложенный список. Вы можете использовать рекурсивную функцию, чтобы распечатать все это:

lst = [' one', 'two ', ['four', 'five']]

def recursive_print(my_list):
    for item in my_list:
        if isinstance(item, list):
            recursive_print(item)
        else:
            print(item.strip())

recursive_print(lst)

Это дает

one
two
four
five

Если вы хотите собрать вырезанные слова, вы можете использовать

def recursive_yield(my_list):
    for item in my_list:
        if isinstance(item, list):
            yield from recursive_yield(item)
        else:
            yield item.strip()

flattened = [word for word in recursive_yield(lst)]
print(flattened)

Что даст

['one', 'two', 'four', 'five']

Обе функции будут работать для произвольно вложенных списков.

0 голосов
/ 12 июля 2020

Похоже, ваша проблема такая же, как и в этом посте. Взгляните на это.

Ссылка

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