ฉันมีรหัสนี้ (พิมพ์การเกิดการเรียงสับเปลี่ยนทั้งหมดในสตริง)
def splitter(str):
    for i in range(1, len(str)):
        start = str[0:i]
        end = str[i:]
        yield (start, end)
        for split in splitter(end):
            result = [start]
            result.extend(split)
            yield result    
el =[];
string = "abcd"
for b in splitter("abcd"):
    el.extend(b);
unique =  sorted(set(el));
for prefix in unique:
    if prefix != "":
        print "value  " , prefix  , "- num of occurrences =   " , string.count(str(prefix));ฉันต้องการพิมพ์การเปลี่ยนแปลงที่เกิดขึ้นทั้งหมดที่มีอยู่ในสตริง varaible
เนื่องจากการเรียงสับเปลี่ยนไม่ได้มีความยาวเท่ากันฉันต้องการแก้ไขความกว้างและพิมพ์ออกมาอย่างดีไม่ใช่แบบนี้:
value   a - num of occurrences =    1
value   ab - num of occurrences =    1
value   abc - num of occurrences =    1
value   b - num of occurrences =    1
value   bc - num of occurrences =    1
value   bcd - num of occurrences =    1
value   c - num of occurrences =    1
value   cd - num of occurrences =    1
value   d - num of occurrences =    1ใช้formatทำไรได้บ้าง?
ฉันพบโพสต์เหล่านี้ แต่มันเข้ากันไม่ได้กับสตริงตัวอักษรและตัวเลข: