Вы можете использовать существующие функции из стандартной библиотеки вместо того, чтобы писать свои собственные, где это возможно:
uT = [(''.join(map(str, el)), sum(el)) for el in uT]
В этом случае:
''.join(map(str, el))
преобразует перестановку в строковое представление, которое вы хотел (0, 3, 3, )
-> '033'
, сначала покрывая каждый элемент строкой (используя map(str, el)
), а затем соединяя строки.
sum(el)
суммировали перестановку (0, 3, 3, )
-> 6
Запись FIFO должна быть атомарной, пока она находится под размером страницы. Таким образом, не должно быть проблемы с 100-байтовыми сообщениями. На Linux макс. размер раньше был 4K, я полагаю, что это больше теперь. Я использовал эту технику в нескольких системах для передачи сообщений, так как записи заканчиваются атомарные.
Можно закончить с проблемой при использовании серии записей так как произведено буферизация могла бы вызвать синхронизирующую проблему. Поэтому удостоверьтесь, что целое сообщение записано когда-то. например, создайте строку, затем распечатайте, не печатайте несколько частей сразу.
s="This is a message"
echo $s
НЕТ
echo "This "
echo "is "
echo " a message"