Как объединить несколько строк, содержащихся в 1 переменной, в 1 строку - PullRequest
0 голосов
/ 20 апреля 2020

Я выбираю очень сложный способ сделать это, и я в замешательстве, но здесь я go!

Хорошо, поэтому я в основном воспринял результат как обычный dict, result = j_result['result'] j_result - переменная, содержащая вся информация на следующем изображении.

и затем с этим im, пропустив заголовок и просто извлекая все, что находится внутри результата, с помощью этого сценария

def extract_values(obj, key):
            arr = []
            def extract(obj, arr, key):
                if isinstance(obj, dict):
                    for k, v in obj.items():
                        if isinstance(v, (dict, list)):
                            extract(v, arr, key)
                        elif k == key:
                            arr.append(v)
                elif isinstance(obj, list):
                    for item in obj:
                        extract(item, arr, key)
                return arr

            results = extract(obj, arr, key)
            return results
        def listToString(s):

И с этим значением я заменяю все странные символы, такие как [,], ', et c. когда у меня наконец есть хорошая строка, которая разбирает все, что у меня осталось, с красивой строкой, но большинство из них содержат символ | Разделив имена japanese и engli sh, я использовал этот скрипт, чтобы удалить все до этого, оставив engli sh

o_string = oe_string.replace(",", "\n")  
for l in o_string.split('\n'):
   thingy1 = l.split('|')[-1] + "\n"
   print(repr(thingy1))

Но когда я делаю это, он печатает несколько строк, представленных через thingy1

пример: вывод из функции печати в приведенном выше сценарии

'string 1'
'string 2'
'string 3'

Я хочу объединить все эти строки в 1 строку и отделить новые строки с помощью \ n.

Так что в gist вместо трех строк мне нужно что-то, похожее на это:

string 1\nstring 2\nstring 3\n

и так далее ...

Извините, если это неправильный способ сформулировать это c или для этой цели. Но я действительно в растерянности, и все помогает.

https://media.discordapp.net/attachments/696842088431485069/701708282162708480/unknown.png?width=720&height=42

1 Ответ

0 голосов
/ 20 апреля 2020

Итак, у вас есть список строк, и вы хотите объединить их в одну строку с разделителем (\n) между ними?

Вот для чего .join!

l = ['string 1', 'string 2', 'string 3']
joined = '\n'.join(l)
# now joined is 'string 1\nstring 2\nstring 3'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...