Предлагаемое решение печатает строки, содержащие несколько ключевых слов так же часто, как и количество ключевых слов, которые у вас есть, это может быть то, чего вы хотите избежать. Кроме того, если ключевое слово появляется как часть другого слова, оно также появляется (хотя это соответствует поведению grep).
Некоторые решения:
import os
key_words = {"one", "two", "three"}
log_lines = ['This has a one and a two', 'Some ones', 'This one has neither, oh it does', 'This does not', 'A three']
# fixing the repetition
for log_line in log_lines:
for keyword in key_words:
if keyword in log_line:
print(log_line)
break
# fixing the repetition and partial matches
for log_line in log_lines:
for word in log_line.split():
if word in key_words:
print(log_line)
break
# single line solution
print([log_line for log_line in log_lines if key_words & set(log_line.split()) != set()])
# single line solution with partial matches
print([log_line for log_line in log_lines if any(key_word in log_line for key_word in key_words)])
При исследовании кнопки Вы найдете, что при помощи удобного метода инициализировать ее Вас оставляют с 0x0 кнопкой, которая расположена в 0,0 в границах представления, к которому она добавляется. Прежде, чем сделать это, необходимо определить содержание frame
свойство кнопки. См. код ниже:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
btn.frame = CGRectMake(0, 0, 400, kCustomButtonHeight);
[btn setTitle:@"list" forState:UIControlStateNormal];
self.navigationItem.titleView = btn;
Представление navigationItem установлено, по умолчанию, к нолю.
Необходимо использовать
self.navigationItem.titleView = btn;