Tôi có mã này (in sự xuất hiện của tất cả các hoán vị trong một chuỗi)
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));
Tôi muốn in tất cả các trường hợp hoán vị có trong chuỗi có thể thay thế được.
vì hoán vị không có cùng chiều dài nên tôi muốn sửa chiều rộng và in nó theo kiểu đẹp không giống như thế này:
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
Làm thế nào tôi có thể sử dụng format
để làm điều đó?
Tôi đã tìm thấy những bài đăng này nhưng nó không hoạt động tốt với các chuỗi chữ và số: