The Python itertools
page has exactly a powerset
recipe for this:
from itertools import chain, combinations def powerset(iterable): "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)" s = list(iterable) return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))
Output:
>>> list(powerset("abcd")) [(), ('a',), ('b',), ('c',), ('d',), ('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd'), ('a', 'b', 'c'), ('a', 'b', 'd'), ('a', 'c', 'd'), ('b', 'c', 'd'), ('a', 'b', 'c', 'd')]
If you don’t like that empty tuple at the beginning, you can just change the range
statement to range(1, len(s)+1)
to avoid a 0-length combination.
Related Posts:
- Append values to a set in Python
- Does Python have an ordered set?
- Does Python have an ordered set?
- Python set to list
- How to sort a set in python?
- Empty set literal?
- Add list to set?
- Creating 2D dictionary in Python
- Python Sets vs Lists
- In Python, when to use a Dictionary, List or Set?
- Type error Unhashable type:set
- How to make a set of lists
- TypeError: ‘set’ object does not support indexing
- Python Set Comprehension
- How do I add two sets?
- set object is not JSON serializable
- Get difference between two lists
- Converting a list to a set changes element order
- SyntaxError: unexpected EOF while parsing
- How do I lowercase a string in Python?
- How do I copy a file in Python?
- How can I reverse a list in Python?
- Manually raising (throwing) an exception in Python
- How do I copy a file in Python?
- can’t multiply sequence by non-int of type ‘float’
- Difference between del, remove, and pop on lists
- How can I reverse a list in Python?
- How to use the pass statement
- How to use filter, map, and reduce in Python 3
- What does enumerate() mean?
- Searching the student-t distribution table for values using python
- How to declare an array in Python?
- Does Python have a ternary conditional operator?
- Use Gif Logo For Loading Screen In Kivy
- Praw & Discord.py: The bot keep sending the same meme. I want the bot to send different meme whenever it is asked
- Pig Latin Translator
- What is the difference between Python’s list methods append and extend?
- How can I make a time delay in Python? [duplicate]
- Python – TypeError: ‘int’ object is not iterable
- TypeError: ‘int’ object is not subscriptable
- sphinx.ext.autodoc: Keeping names of constants in signature
- are there dictionaries in javascript like python?
- How do you round UP a number?
- Understanding slice notation
- Iterating over dictionaries using ‘for’ loops
- How to define a two-dimensional array?
- how to sort pandas dataframe from one column
- Why am I seeing “TypeError: string indices must be integers”?
- How do you round UP a number?
- Understanding slice notation
- TypeError: only integer scalar arrays can be converted to a scalar index with 1D numpy indices array
- How do I update\upgrade pip itself from inside my virtual environment?
- How to open a file using the open with statement
- How to emulate a do-while loop?
- How do I update\upgrade pip itself from inside my virtual environment?
- How to comment out a block of code in Python [duplicate]
- Microsoft Visual C++ 14.0 is required (Unable to find vcvarsall.bat)
- Using “with open() as file” method, how to write more than once? [duplicate]
- TypeError: list indices must be integers or slices, not str
- Why there is no do while loop in python
- How do I get a substring of a string in Python?
- How do I sort a dictionary by value?
- ImportError: DLL load failed: The specified module could not be found
- How do I sort a dictionary by value?
- How to prettyprint a JSON file?
- What does the “yield” keyword do?
- ImportError: DLL load failed: The specified module could not be found
- Replacements for switch statement in Python?
- How to install pip with Python 3?
- What is the difference between rw+ and r+
- What does ** (double star/asterisk) and * (star/asterisk) do for parameters?
- Renaming column names in Pandas
- How to reset index in a pandas dataframe? [duplicate]
- pip not recognised as an internal or external command
- Correct way to write line to file?
- Python: Find in list
- Does Python have a string ‘contains’ substring method?
- Is there a “not equal” operator in Python?
- IndexError: list index out of range and python
- How to read a file line-by-line into a list?
- Delete a column from a Pandas DataFrame
- strip(char) on a string
- Python – TypeError: ‘int’ object is not iterable
- How do I sort a dictionary by value?
- Import Error: No module named numpy
- How to deal with SettingWithCopyWarning in Pandas
- How to update/upgrade a package using pip?
- How to deal with SettingWithCopyWarning in Pandas
- ‘Syntax Error: invalid syntax’ for no apparent reason
- Python exit commands – why so many and when should each be used?
- How can I represent an infinite number in Python?
- Constructing pandas DataFrame from values in variables gives “ValueError: If using all scalar values, you must pass an index”
- How to iterate over rows in a DataFrame in Pandas
- pandas read_json: “If using all scalar values, you must pass an index”
- How to iterate over rows in a DataFrame in Pandas
- What is the Python equivalent for a case/switch statement? [duplicate]
- Web scraping redoc web api
- TypeError: ‘NoneType’ object is not iterable in Python
- Python: ‘ModuleNotFoundError’ when trying to import module from imported package
- Relative imports – ModuleNotFoundError: No module named x