itertools.accumulate, но пытаюсь заменить лямбду на str.join

Один простой способ произвести «чистый» вывод через utils команд:

import commands
ips = commands.getoutput("/sbin/ifconfig | grep -i \"inet\" | grep -iv \"inet6\" | " +
                         "awk {'print $2'} | sed -ne 's/addr\:/ /p'")
print ips

Он покажет все адреса IPv4 в системе.

5
задан Jab 21 February 2019 в 04:25
поделиться

1 ответ

Метод str.join ожидает итерацию в качестве аргумента, и тем не менее accumulate передает ему два аргумента для каждой итерации, отсюда и ошибка. Вместо этого вы можете использовать метод str.format:

print(list(accumulate(s.split(), '{} {}'.format)))
0
ответ дан blhsing 21 February 2019 в 04:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: