8000 Add nth_combination_with_replacement by Schoyen · Pull Request #704 · more-itertools/more-itertools · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Add nth_combination_with_replacement #704

New issue

Have a question about this project? Sign up for a free GitHub ac 8000 count to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Apr 3, 2023
Merged

Add nth_combination_with_replacement #704

merged 4 commits into from
Apr 3, 2023

Conversation

Schoyen
Copy link
Contributor
@Schoyen Schoyen commented Apr 3, 2023

Issue reference

This pull request closes #684.

Changes

This pull request implements the nth_combination_with_replacement with tests and doc strings. The function is an analog to nth_combination and nth_permutation, but for itertools.combinations_with_replacement. I have slightly modified the code by @lukemarris from #684 (comment). The main change is to drop the n_choose_r-function and instead use math.factorial to compute the combinations.

@bbayles bbayles merged commit 2316537 into more-itertools:master Apr 3, 2023
lengau referenced this pull request in canonical/charmcraft Jul 25, 2023
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [more-itertools](https://togithub.com/more-itertools/more-itertools) |
`==9.1.0` -> `==10.0.0` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/more-itertools/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/more-itertools/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/more-itertools/9.1.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/more-itertools/9.1.0/10.0.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>more-itertools/more-itertools (more-itertools)</summary>

###
[`v10.0.0`](https://togithub.com/more-itertools/more-itertools/releases/tag/v10.0.0):
Version 10.0.0

[Compare
Source](https://togithub.com/more-itertools/more-itertools/compare/v9.1.0...v10.0.0)

##### What's Changed

- Update recipes.iter_index to match CPython PR 102360 by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/690](https://togithub.com/more-itertools/more-itertools/pull/690)
- fixup - add missing commas to the readme function table by
[@&#8203;lonnen](https://togithub.com/lonnen) in
[https://github.com/more-itertools/more-itertools/pull/692](https://togithub.com/more-itertools/more-itertools/pull/692)
- fixup remove 3.6 from tox by
[@&#8203;lonnen](https://togithub.com/lonnen) in
[https://github.com/more-itertools/more-itertools/pull/693](https://togithub.com/more-itertools/more-itertools/pull/693)
- seekable: Add relative_seek by
[@&#8203;karlb](https://togithub.com/karlb) in
[https://github.com/more-itertools/more-itertools/pull/694](https://togithub.com/more-itertools/more-itertools/pull/694)
- Optimize \_chunked_even_finite() by
[@&#8203;elliotwutingfeng](https://togithub.com/elliotwutingfeng) in
[https://github.com/more-itertools/more-itertools/pull/699](https://togithub.com/more-itertools/more-itertools/pull/699)
- Indexing of combinations with replacement by
[@&#8203;Schoyen](https://togithub.com/Schoyen) in
[https://github.com/more-itertools/more-itertools/pull/689](https://togithub.com/more-itertools/more-itertools/pull/689)
- Add notes for transposing empty inputs by
[@&#8203;XuehaiPan](https://togithub.com/XuehaiPan) in
[https://github.com/more-itertools/more-itertools/pull/700](https://togithub.com/more-itertools/more-itertools/pull/700)
- Add the polynomial_eval recipe by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/703](https://togithub.com/more-itertools/more-itertools/pull/703)
- Add nth_combination_with_replacement by
[@&#8203;Schoyen](https://togithub.com/Schoyen) in
[https://github.com/more-itertools/more-itertools/pull/704](https://togithub.com/more-itertools/more-itertools/pull/704)
- Add sum_of_squares, sync with itertools by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/706](https://togithub.com/more-itertools/more-itertools/pull/706)
- Issue
[#&#8203;707](https://togithub.com/more-itertools/more-itertools/issues/707):
fix `iterate()` to enable `func` to raise StopIteration + 3 unittests by
[@&#8203;jrebiffe](https://togithub.com/jrebiffe) in
[https://github.com/more-itertools/more-itertools/pull/708](https://togithub.com/more-itertools/more-itertools/pull/708)
- Update polynomial_from roots and convolve by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/709](https://togithub.com/more-itertools/more-itertools/pull/709)
- Issue
[#&#8203;677](https://togithub.com/more-itertools/more-itertools/issues/677):
Improve `partition` by [@&#8203;pochmann](https://togithub.com/pochmann)
in
[https://github.com/more-itertools/more-itertools/pull/710](https://togithub.com/more-itertools/more-itertools/pull/710)
- Issue
[#&#8203;713](https://togithub.com/more-itertools/more-itertools/issues/713):
Fix `partial_product` (also simplify and clean up) by
[@&#8203;pochmann](https://togithub.com/pochmann) in
[https://github.com/more-itertools/more-itertools/pull/714](https://togithub.com/more-itertools/more-itertools/pull/714)
- Issue
[#&#8203;711](https://togithub.com/more-itertools/more-itertools/issues/711):
Optimize `pairwise` by [@&#8203;pochmann](https://togithub.com/pochmann)
in
[https://github.com/more-itertools/more-itertools/pull/712](https://togithub.com/more-itertools/more-itertools/pull/712)
- Issue
[#&#8203;715](https://togithub.com/more-itertools/more-itertools/issues/715):
Simplify/optimize `partial_product` by
[@&#8203;pochmann](https://togithub.com/pochmann) in
[https://github.com/more-itertools/more-itertools/pull/716](https://togithub.com/more-itertools/more-itertools/pull/716)
- Issue
[#&#8203;717](https://togithub.com/more-itertools/more-itertools/issues/717):
Improve `duplicates_justseen` by
[@&#8203;pochmann](https://togithub.com/pochmann) in
[https://github.com/more-itertools/more-itertools/pull/718](https://togithub.com/more-itertools/more-itertools/pull/718)
- Fix unique_in_window to match described behavior by
[@&#8203;elliotwutingfeng](https://togithub.com/elliotwutingfeng) in
[https://github.com/more-itertools/more-itertools/pull/720](https://togithub.com/more-itertools/more-itertools/pull/720)
- Add polynomial_derivative recipe by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/723](https://togithub.com/more-itertools/more-itertools/pull/723)
- Update recipes with CPython PRs: 105403 and 106371 by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/731](https://togithub.com/more-itertools/more-itertools/pull/731)
- Changes for version 10.0.0 by
[@&#8203;bbayles](https://togithub.com/bbayles) in
[https://github.com/more-itertools/more-itertools/pull/734](https://togithub.com/more-itertools/more-itertools/pull/734)
- Delay computation of numeric_range len until needed by
[@&#8203;eltoder](https://togithub.com/eltoder) in
[https://github.com/more-itertools/more-itertools/pull/674](https://togithub.com/more-itertools/more-itertools/pull/674)

##### New Contributors

- [@&#8203;karlb](https://togithub.com/karlb) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/694](https://togithub.com/more-itertools/more-itertools/pull/694)
- [@&#8203;elliotwutingfeng](https://togithub.com/elliotwutingfeng) made
their first contribution in
[https://github.com/more-itertools/more-itertools/pull/699](https://togithub.com/more-itertools/more-itertools/pull/699)
- [@&#8203;Schoyen](https://togithub.com/Schoyen) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/689](https://togithub.com/more-itertools/more-itertools/pull/689)
- [@&#8203;XuehaiPan](https://togithub.com/XuehaiPan) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/700](https://togithub.com/more-itertools/more-itertools/pull/700)
- [@&#8203;jrebiffe](https://togithub.com/jrebiffe) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/708](https://togithub.com/more-itertools/more-itertools/pull/708)
- [@&#8203;pochmann](https://togithub.com/pochmann) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/710](https://togithub.com/more-itertools/more-itertools/pull/710)
- [@&#8203;eltoder](https://togithub.com/eltoder) made their first
contribution in
[https://github.com/more-itertools/more-itertools/pull/674](https://togithub.com/more-itertools/more-itertools/pull/674)

**Full Changelog**:
more-itertools/more-itertools@v9.1.1...v10.0.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC,
Automerge - "before 07:00" in timezone Etc/UTC.

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/canonical/charmcraft).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi4xMS4wIiwidXBkYXRlZEluVmVyIjoiMzYuMTEuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature Request] nth_combination_with_replacement
2 participants
0