|
本帖最后由 techcai 于 2021-9-5 19:22 编辑
# 用于排列组合的练习
import itertools
# l1 = ['x', 'y', 'z']
# list2 = list(itertools.permutati**('0123456789xyz', 6))
# for x in list2:
# # print(x)
# if set(l1).issubset(set(x)):
# x_str = ''.join(x)
# print(x_str)
def print_hi(name):
# 在下面的代码行中使用断点来调试脚本。
print(f'Hi, {name}') # 按 Ctrl+F8 切换断点。
# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
print_hi('PyCharm')
arr = {''.join(i) for i in itertools.permutati**(['x', 'y', 'z', '1', '2', '3'])}
print(*arr)
这个程序部分输出如下:2x31zy 23yx1z y3x2z1 23xy1z 3xzy12 xz312y
其中2x31zy 23yx1z y3x2z1 23xy1z xz312y都不是我要的,因为他的顺序不是xyz的顺序,x排在y前 ,y排在z前, 就是无论怎么组合都要保证xyz的顺序。
只有23xy1z 才是我要的数据之一,比如x68yz8 80xy7z xyz123 2x31zy 23xy1z 等等这些也是我要的 |
|