Pythoni c способ присоединиться к строке в al oop для создания текстового блока - PullRequest
1 голос
/ 21 июня 2020

Есть ли способ pythoni c объединить строку в al oop для создания блока текста?

Пример:

for x in range(4):
    content = f'{x}[block]'
    content+content

print(content)

Желаемый результат:

0[block]
1[block]
2[block]
3[block]

1 Ответ

1 голос
/ 21 июня 2020

Вы можете использовать str.join() с выражением генератора , чтобы присоединить строки блока к новой строке:

print("\n".join(f"{x}[block]" for x in range(4)))

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

print("\n".join([f"{x}[block]" for x in range(4)]))

См. этот ответ для получения дополнительной информации о том, почему второй подход быстрее, чем первый

Кроме того, вы также можете добавить каждую строку блока в список и присоединить их в конце:

blocks = []
for x in range(4):
    blocks.append(f"{x}[block]")

print("\n".join(blocks))

Если мы хотим просто распечатать каждый блок строка без присоединения к новой строке, мы можем использовать ключевое слово sep из print():

print(*(f"{x}[block]" for x in range(4)), sep="\n")

Вывод:

0[block]
1[block]
2[block]
3[block]
...