是橘子王呀 2020-08-30 22:24 采纳率: 50%
浏览 42
已采纳

请问如何用python生成器写这样的组合算法function?

请问如何用python生成器写这样的组合算法function?
要求不import任何package,三个分开的,谢谢!

list(prefixes([1, 2, 3]))
[[], [1], [1, 2], [1, 2, 3]]

list(prefixes("abc"))
['', 'a', 'ab', 'abc']

list(suffixes([1, 2, 3]))
[[1, 2, 3], [2, 3], [3], []]

list(suffixes("abc"))
['abc', 'bc', 'c', '']

list(slices([1, 2, 3]))
[[1], [1, 2], [1, 2, 3], [2], [2, 3], [3]]

list(slices("abc"))
['a', 'ab', 'abc', 'b', 'bc', 'c']

  • 写回答

1条回答 默认 最新

  • threenewbee 2020-08-31 09:27
    关注

    prefixes、suffixes,循环切片取0 1 2 3...个
    slices就是把前两者组合下,先prefixes,对每个再suffixes
    写成生成器就用 yield 即可。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 如何绘制动力学系统的相图