Мне нужно присоединиться к списку предметов. Многие из элементов в списке являются целочисленными значениями, возвращаемыми функцией; т.е.
myList.append(munfunc())
Как мне преобразовать возвращаемый результат в строку, чтобы соединить его со списком?
Нужно ли делать следующее для каждого целочисленного значения:
myList.append(str(myfunc()))
Есть ли более Pythonic способ решить проблемы с кастингом?
Ответы:
Вызов
str(...)
- это Pythonic способ преобразовать что-то в строку.Вы можете подумать, почему вы хотите список строк. Вместо этого вы можете хранить его как список целых чисел и преобразовывать целые числа в строки только тогда, когда вам нужно их отобразить. Например, если у вас есть список целых чисел, вы можете преобразовать их один за другим в цикл for и объединить их с помощью
,
:источник
Нет ничего плохого в передаче целых чисел в str. Одна из причин, по которой вы можете этого не делать, заключается в том, что myList действительно должен быть списком целых чисел, например, было бы разумно суммировать значения в списке. В этом случае не передавайте свои целые числа в str, прежде чем добавлять их в myList. Если в итоге вы не преобразуете в строки перед добавлением, вы можете создать одну большую строку, выполнив что-то вроде
источник
str
? Пожалуйста, рассмотрите возможность того, что вам нужно добавить нечеткую логику в ваш анализатор ;-)Функция карты в Python может быть использована. Требуется два аргумента. Первый аргумент - это функция, которая должна использоваться для каждого элемента списка. Второй аргумент - итеративный .
После преобразования списка в строку вы можете использовать функцию простого объединения, чтобы объединить список в одну строку
источник
Вышеуказанный метод является самым простым и наиболее общим способом преобразования списка в строку. другой короткий метод -
источник
Есть три способа сделать это.
скажем, у вас есть список целых
"-".join(str(n) for n in my_list)
"-".join([str(n) for n in my_list])
"-".join(map(str, my_list))
Однако, как указано в примере timeit на веб-сайте python по адресу https://docs.python.org/2/library/timeit.html, использование карты быстрее. Поэтому я бы порекомендовал вам использовать
"-".join(map(str, my_list))
источник
Ваша проблема довольно ясна. Возможно, вы ищете расширение, чтобы добавить все элементы другого списка в существующий список:
Если вы хотите преобразовать целые числа в строки, используйте str () или интерполяцию строк, возможно, в сочетании с пониманием списка, т.е.
Все это считается pythonic (хорошо, выражение генератора еще более pythonic, но давайте оставаться простыми и по теме)
источник
Например:
Что касается меня, я хочу добавить
str
перед каждым списком строк:Или один список:
источник
Может быть, вам не нужны числа в виде строк, просто сделайте:
Позже, если вам нужно это как строку, вы можете сделать это со строкой или с форматной строкой:
print "Vastaus5 = %s" % functaulu[5]
источник
Почему никто не любит
repr
?Python 3.7.2:
Позаботьтесь, хотя, это явное представление. Пример показывает:
больше информации на pydocs-repr
источник