Python имеет встроенные инструменты для работы со строками и подсчета подстрок.Вот несколько примеров того, как вы можете их использовать:
my_string = "Walla Walla, Washington"
# You can count how many times a certain substring occurs in a string
Wa_count = my_string.count("Wa")
print(Wa_count) # 3 times
ll_count = my_string.count("ll")
print(ll_count) # 2 times
Вы можете объединять списки строк вместе с выбранным разделителем.Каждая строка имеет метод .join()
, который принимает объект iterable , который имеет элементы, которые являются строками, и объединяет их вместе с исходной строкой в качестве разделителя.Пример, вероятно, демонстрирует это лучше всего:
alist = ["John", "Mary", "Jane"]
with_ands = " and ".join(alist)
print(with_ands)
# "John and Mary and Jane"
atuple = ("John", "Mary", "Jane")
with_comma_space = ", ".join(atuple)
print(with_comma_space)
# "John, Mary, Jane"
some_date = ["04", "04", "2019"]
date_hyphen = "-".join(some_date)
print(date_hyphen)
# "04-04-2019"
import numpy as np
# This even works with empty strings
np_arr = np.array(['3', '1', '7', '3'])
np_array_example = ''.join(np_arr)
print(np_array_example)
# "3173"
Не забудьте всегда передавать массив / list / tuple / dict, который состоит только из строк.Вы можете прочитать больше о строках здесь: https://docs.python.org/3/library/stdtypes.html#string-methods
Наконец, .strip()
в строках удаляет пробелы с обеих сторон.Кроме того, поскольку .join()
возвращает строку, вы можете объединять и объединять цепочки.Связав все это вместе:
my_list = [[' ', ' ', ' ', ' '], ['3', '1', '7', '3'], [' ', '1', '2', '1'], [' ', ' ', '5', '5']]
for inner_list in my_list:
result = ''.join(inner_list).strip()
print(result)
Это будет печатать, начиная с пустой строки, потому что первый результат - пустая строка ""
:
3173
121
55
Python также имеет встроеннуюв модуле csv.Взятые непосредственно из руководства: https://docs.python.org/3/library/csv.html
import csv
with open('eggs.csv', 'w', newline='') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
Это напишет
Spam, Spam, Spam, Spam, Spam, Baked Beans
Spam, Lovely Spam, Wonderful Spam
Итак, по сути, все, что вам нужно сделать, это передать spammwriter.writerow()
список строк, где каждыйстрока является столбцом.