Используйте функцию, чтобы сначала сгладить список, а затем распечатать новый список.
def flatten(original, iterables=[list]):
out = []
for val in original:
if type(val) not in iterables:
out.append(val)
else:
out += flatten(val)
return out
print(flatten(arr))
Здесь я явно указываю type(val) != list
, чтобы он не пытался разделить ваши строки, но сгладил подсписки. Кроме того, этот метод будет обрабатывать вложенные списки любой глубины.
Результат:
>>> print(flatten(arr))
[0, 'txt', 4, 5, 3, 4, 2]
Вы также можете передать второй аргумент iterables
, который представляет собой список, содержащий итерационные типы, которые вы хотите сгладить. Это может включать list
, tuple
или что-либо еще. Здесь я по умолчанию использую list
, так как этого требует ваш пример.
Если Вы ссылаетесь на изображение с помощью a file:///
URI Outlook автоматически изменит его в a cid:
URI и добавляет изображение как вложение на вставке.
BTW: Что это получило, чтобы сделать с программированием?
Править: Хорошо, рассматривая Ваше обновление вопроса: я боюсь, что это не возможно. Это не ограничение, характерное для подписей или Outlook все же. Это - просто способ, которым работает HTML. Если Вы хотите изображения в документе HTML, они должны будут быть отдельными. Никакой путь вокруг этого без собственных форматов, ни один из которых Outlook принял бы как подпись.
Однако, если это для приложения интранет, можно сойти с рук размещение изображений на сетевом ресурсе и ссылке через UNC, например.
<img src="file://///ServerName/ShareName/FileName.png" />
Если изображение является достаточно маленьким, то Вы смогли делать что-то с данными URI.
Можно ли кодировать изображение с помощью base64?
<a href="http://www.britblog.com/">
<img
src="data:image/gif;base64,R0lGODlhUAAPAKIAAAsLav///88PD9WqsYmApmZmZtZfYmdakyH5BAQUAP8ALAAAAABQAA8AAAPbWLrc/jDKSVe4OOvNu/9gqA /..../NcV9/j5+g4JADs="
alt="Signature" width="80" height="15">
</a>
Просто мысль