Ferroman
Пожалуйста, приведите в порядок свои мысли. У вас много хаотичных вопросов, и абсолютна непонятна цель и задачи. Может разбейте из на вопросы поменьше, но по-конкретней?
Очень трудно общаться, когда разговор прыгает с темы на тему.
Да, вы правы, уже для одной темы много вопросов, добьем какие возникли, а других не поднимаем.
Вопрос1 - вопрос Питон глубже не дает создавать набор строк или это “железо”? снят вами - слишком большой объем и не только для Питона
Вопрос2 - какими средствами Питона посмотреть почему валится построение списка - рекомендация дана, надо брать и смотреть
Вопрос3 -генератор списков (где то сказано) эквивалентен коду с циклами, так ли это? - с практической точки зрения вы ответили - “Да напишите разные функции, тесты к ним и прогоните профайлером. Получите и эквивалентность результатов, и скорость работы”, но по сути он остается (у меня есть некое и приличное образование, я понимаю этот вопрос, но он наверное не для новичков в Питоне…), если я останусь в Питоне, то вернусь к нему
Вопрос4- что сильнее Математика Вольфрама (это платный закрытый продукт) или Питон? может проще на Питоне спрограммировать, чем возиться с Вольфрамом (у меня есть сложная мат.задача - я и о ней, и, вообще, о мнении по этому вопросу)
Вопрос5 - в чем задача? ("Делитесь задачей - может что-то придумаем). - Здесь может быть много задач, например, на 1 курсе все учат подстановки, типа - перечислить все подгруппы такой то группы подстановок - тоскливо вручную… а на строках этих такое было просто делать! и т.п.
Вопрос6 - есть такой вариант - генерить не всеь список, а скажем требующиеся срезы типа str - есть ли в питон такая возможность? этот вопрос я уже решил, написав следующий код (что в нем плохо?), наверное применил обычный общий метод для подобных случаев:
можно заметить что строки из двух букв ‘aaabbbababba’ и т.п. взаимнооднозначно отображаются на числа в двоичной записи,
значит генерим мы просто список целых чисел, в питоне есть генератор range(m,n) - идея этот генератор и использовать
вот получились функции decstr(z,n) - переводит число в строку из букв a и b, и - strdec(z) - делает наоборот.
в комментариях указано, какие аргументы можно подставлять в функции
#———–str->number————————
import string
#z='a' -> ‘0’
def dbl(z):
if z=='a':
t='0'
else:
t='1'
return t
#z= ->
def dblst(z):
t=map(dbl,z)
return t
#z= -> number
def lstdec(z):
k=0
n=0
while k <len(z):
n=n+z*(2**(len(z)-k-1))
k=k+1
return n
#z= -> number
def dbldec(z):
t=lstdec(map(int,(dblst(z))))
return t
#z='aabbabbbaba' -> number
def strdec(z):
return dbldec(list(z))
#————number->str————————-
#z='1' ->'b'
def _dbl(z):
if z=='0':
t='a'
else:
t='b'
return t
#z= ->
def _dblst(z):
t=map(_dbl,z)
return t
#z=number ->
def _lstdec(z):
s=
k=z
while k !=0:
s.append(k%2)
k=k//2
s.reverse()
return s
#z= number ->
def _strdec(z):
t=string.join(_dblst(map(str, _lstdec(z))),'')
return t
#z=51 n=10 -> ‘aaaabbaabb’
def decstr(z,n=32):
t=list(_strdec(z))
k=len(t)
r=0
while r < n-k:
t.insert(0,'a')
r=r+1
t=string.join(t,'')
return t
#—————- parts of str ———–
#z=range(6,15) ->
#map(decstr,z) ->
#map(decstr,range(77777777777777,77777777777779))
#