Вы уже отлично поработали. Единственная необходимая модификация состоит в том, чтобы создать тень блока, которая не имеет смещения по оси x или y и еще больше размытия.
Основа использования:
box-shadow: h-offset v-offset blur spread color;
Подробнее о теме: https://developer.mozilla.org/en-US/docs/Web/CSS/box -shadow
Или просто используйте генератор! https://www.cssmatic.com/box-shadow
div {
padding: 15px;
margin: 15px;
box-shadow: 0px 0px 10px #E6E6E6, 0px 0px 0px #E6E6E6, 0px 0px 0px #E6E6E6, 2px 2px 5px #E6E6E6, 0px 0px 0px #E6E6E6, 0px 0px 0px #E6E6E6;
border-radius: 4px;
}
One
One
Three
Вот другая альтернатива Graeme, с помощью более нового синтаксиса понимания списка:
list2= [line for line in file if 'CONTENT_ITEM_ID' in line]
То, которое Вы предпочитаете, является вопросом вкуса!
Мне понравился ответ @bobince (+1), но будет ставка.
Так как у Вас есть довольно большой начальный набор, можно не хотеть загружать весь список в память. Если Вам не нужен целый список для чего-то еще, Вы могли использовать выражение генератора Python для выполнения той же задачи путем создания фильтрованного элемента списка объектом, как их требуют:
for filtered_url in (line for line in file if 'CONTENT_ITEM_ID' in line):
do_something_with_filtered_url(filtered_url)
list2 = filter( lambda x: x.find( 'CONTENT_ITEM_ID ') != -1, list1 )
Фильтр вызывает функцию (первый параметр) на каждом элементе list1 (второй параметр). Если функция возвращает (ненулевой) true, элемент копируется в выходной список.
Лямбда в основном создает временную функцию без имени. Это должно только избежать необходимости создавать функцию и затем передавать ее, как это:
function look_for_content_item_id( elem ):
if elem.find( 'CONTENT_ITEM_ID') == -1:
return 0
return 1
list2 = filter( look_for_content_item_id, list1 )
Для полноты; можно также использовать ifilter
. Это похоже на фильтр, но не создает список.
from itertools import ifilter
for line in ifilter(lambda line: 'CONTENT_ITEM_ID' in line, urls):
do_something(line)