Tuple Comprehension In Python
Tuple comprehension is a powerful feature of Python that allows developers to create tuples in a concise and efficient manner. It is similar to list comprehension, but instead of creating a list, it creates a tuple. In this article, we will explore the syntax, use cases, advantages, and examples of tuple comprehension in Python.
What is Tuple Comprehension?
Tuple comprehension is a compact way of creating tuples in Python. It is based on the concept of list comprehension, which allows developers to create lists using a concise syntax. Tuple comprehension follows a similar syntax but creates tuples instead of lists. It provides an elegant and efficient way to generate tuples in a single line of code.
Syntax of Tuple Comprehension
The syntax of tuple comprehension is similar to list comprehension. It consists of three parts: an expression, an iterable, and an optional conditional statement. The expression is the value that will be included in the tuple, the iterable is a sequence or collection that will be iterated over, and the conditional statement is used to filter the elements that are included in the tuple.
The general syntax of tuple comprehension is as follows:
tuple_variable = (expression for item in iterable if condition)
Using Conditional Statements in Tuple Comprehension
Conditional statements can be used in tuple comprehension to filter the elements based on certain conditions. The conditional statement is placed at the end of the comprehension and is preceded by the “if” keyword. Only the elements that satisfy the condition will be included in the resulting tuple.
Here is an example of using a conditional statement in tuple comprehension:
numbers = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
even_numbers = (x for x in numbers if x % 2 == 0)
print(tuple(even_numbers))
Output:
(2, 4, 6, 8, 10)
Nested Tuple Comprehension
Just like nested list comprehension, tuple comprehension can also be nested. This allows developers to create tuples of tuples or tuples of other data structures in a single line of code.
Here is an example of nested tuple comprehension:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened_matrix = tuple(item for sublist in matrix for item in sublist)
print(flattened_matrix)
Output:
(1, 2, 3, 4, 5, 6, 7, 8, 9)
Performing Operations in Tuple Comprehension
Tuple comprehension can also perform operations on the elements before including them in the resulting tuple. This allows developers to transform the elements or apply functions to them.
Here is an example of performing operations in tuple comprehension:
numbers = (1, 2, 3, 4, 5)
squared_numbers = tuple(x ** 2 for x in numbers)
print(squared_numbers)
Output:
(1, 4, 9, 16, 25)
Advantages of Tuple Comprehension
Tuple comprehension offers several advantages over traditional methods of creating tuples:
1. Concise Syntax: Tuple comprehension allows developers to create tuples in a single line of code, resulting in cleaner and more readable code.
2. Efficiency: Tuple comprehension is more efficient than traditional methods such as using a for loop to create a tuple. It reduces the number of lines of code and performs the operation in a more optimized manner.
3. Flexibility: Tuple comprehension can be used in various scenarios, such as filtering elements based on conditions, performing operations on elements, and creating nested tuples or tuples of other data structures.
Examples of Tuple Comprehension
Let’s see some examples of tuple comprehension in different scenarios:
– Tuple Comprehension Python:
names = [‘Alice’, ‘Bob’, ‘Charlie’]
name_lengths = tuple(len(name) for name in names)
print(name_lengths)
Output:
(5, 3, 7)
– Transform List to Tuple Python:
numbers = [1, 2, 3, 4, 5]
numbers_tuple = tuple(numbers)
print(numbers_tuple)
Output:
(1, 2, 3, 4, 5)
– Dict Comprehension Python:
numbers = (1, 2, 3, 4, 5)
squared_dict = {x: x*x for x in numbers}
print(squared_dict)
Output:
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
– List of Tuple Python:
students = [(‘Alice’, 18), (‘Bob’, 20), (‘Charlie’, 21)]
names_only = tuple(name for (name, age) in students)
print(names_only)
Output:
(‘Alice’, ‘Bob’, ‘Charlie’)
– Set Comprehension Python:
numbers = (1, 2, 3, 4, 5)
squared_set = {x*x for x in numbers}
print(squared_set)
Output:
{1, 4, 9, 16, 25}
– Generator Comprehension:
numbers = (1, 2, 3, 4, 5)
squared_generator = (x*x for x in numbers)
print(tuple(squared_generator))
Output:
(1, 4, 9, 16, 25)
– Tuples HackerRank Solution:
def even_odds_tuples(n):
return tuple((x, “even”) if x % 2 == 0 else (x, “odd”) for x in range(1, n+1))
print(even_odds_tuples(5))
Output:
((1, ‘odd’), (2, ‘even’), (3, ‘odd’), (4, ‘even’), (5, ‘odd’))
FAQs
1. What is the difference between list comprehension and tuple comprehension?
The main difference between list comprehension and tuple comprehension is that list comprehension creates a list, whereas tuple comprehension creates a tuple. List comprehension uses square brackets [], while tuple comprehension uses parentheses ().
2. Can tuple comprehension create nested tuples?
Yes, tuple comprehension supports nested structures just like list comprehension. Developers can create tuples of tuples or tuples of other data structures using nested tuple comprehension.
3. Can tuple comprehension perform operations on the elements?
Yes, tuple comprehension can perform operations on the elements before including them in the resulting tuple. This allows developers to transform the elements or apply functions to them.
4. What are the advantages of using tuple comprehension?
Tuple comprehension offers advantages such as concise syntax, efficiency, and flexibility. It allows developers to create tuples in a single line of code, reduces the number of lines of code, and performs operations in a more optimized manner.
In conclusion, tuple comprehension is a valuable feature in Python that allows developers to create tuples in a concise and efficient manner. By understanding its syntax, using conditional statements, nesting, performing operations, and exploring various examples, developers can harness the power of tuple comprehension to write cleaner and more efficient code.
#45 Python Tutorial For Beginners | Tuples Comprehension In Python
Is There A Tuple Comprehension In Python?
Comprehensions in Python are a powerful tool that allows us to create new sequences (such as lists, dictionaries, and sets) based on existing sequences with a concise and readable syntax. With comprehension, we can easily filter, transform, or combine elements from an existing sequence to create a new one. In Python, list comprehensions are widely used and well-known, but what about tuple comprehensions?
Tuple comprehensions, also known as generator expressions, are not actually supported in Python. The reason behind this is that tuples are immutable, meaning they cannot be modified after they are created. Since comprehensions generate a new sequence, they would contradict the immutability of tuples. However, there are alternative ways to achieve similar results while working with tuples in Python.
Understanding Tuples in Python
Before diving into tuple comprehensions, let’s first understand what tuples are in Python. A tuple is an ordered collection of elements, enclosed in parentheses, and separated by commas. Tuples are immutable, meaning their elements cannot be modified once they are assigned. For example, consider the following tuple:
“`python
my_tuple = (1, 2, “three”, 4.5)
“`
Tuples can contain a mix of different data types, including numbers, strings, and even other tuples. They are commonly used when we want to group related items together.
Using Generators to Create Tuples
Although there is no direct tuple comprehension, we can use generators to create tuples in a similar manner. Generators are functions that produce a sequence of values, which can be used in combination with tuple() constructor to generate a tuple from the sequence.
“`python
my_tuple = tuple(expression for item in iterable)
“`
In the above code snippet, `expression` represents the transformation or filtering operation that we want to apply to each element in `iterable`. The `item` variable is used as a temporary reference to each element while iterating over `iterable`. This can be any iterable object, such as a list, tuple, string, or even a generator.
For example, let’s suppose we want to create a tuple that contains the squares of the numbers from 1 to 5. Here’s how we can achieve this using a generator expression:
“`python
squares_tuple = tuple(num**2 for num in range(1, 6))
print(squares_tuple)
“`
Output:
“`python
(1, 4, 9, 16, 25)
“`
In this example, the generator expression `num**2` squares each number in the range from 1 to 5. The `range(1, 6)` function generates a sequence of numbers from 1 to 5, and the `tuple()` function converts the generated sequence to a tuple.
Frequently Asked Questions
Q: Why are tuple comprehensions not supported in Python?
A: Tuple comprehensions are not supported in Python because tuples are immutable. Since comprehensions generate a new sequence, they would contradict the immutability of tuples. However, we can achieve similar results using generators and the `tuple()` constructor.
Q: Can I convert a list comprehension to a tuple comprehension?
A: No, you cannot directly convert a list comprehension to a tuple comprehension. However, you can first create a list using a list comprehension and then convert it to a tuple using the `tuple()` constructor.
Q: What are the advantages of using tuple comprehensions?
A: Although tuple comprehensions don’t exist in Python, using generators and the `tuple()` constructor can provide similar functionality. The advantages of using such an approach include concise and readable syntax, the ability to filter or transform elements from an iterable, and the creation of immutable tuples.
Q: Can I use tuple unpacking with tuple comprehensions?
A: Tuple unpacking, where we assign elements of a tuple to separate variables, is not possible with tuple comprehensions. Since tuple comprehensions do not exist in Python, tuple unpacking is not applicable.
Q: Are there any alternatives to tuple comprehensions in Python?
A: Yes, you can achieve similar results by using generators and the `tuple()` constructor. Additionally, you can create a list using a list comprehension and then convert it to a tuple using the `tuple()` constructor.
In conclusion, although tuple comprehensions are not directly supported in Python, we can achieve similar results using generators and the `tuple()` constructor. By combining the power of generators with the tuple constructor, we can filter, transform, and create new tuples in an elegant and concise manner. Comprehensions are an essential tool for working with sequences in Python, and understanding their limitations and alternatives allows us to write more efficient and readable code.
What Is List And Tuple Comprehension In Python?
Python is a versatile and powerful programming language used in a wide range of applications. It provides several features and tools that make it efficient and concise. List and tuple comprehensions are one such feature that allow programmers to create lists and tuples in a more concise and readable manner.
List comprehension is a concise way of creating lists based on existing lists or other iterable objects. It provides a compact syntax to create new lists by iterating over an existing list and applying certain conditions or transformations to each element. The result is a new list that is typically a subset or transformation of the original list.
The basic syntax of list comprehension consists of square brackets enclosing an expression followed by a for loop. For example, consider the following code snippet:
“`
numbers = [1, 2, 3, 4, 5]
squared_numbers = [x**2 for x in numbers]
“`
In the above code, we have a list called `numbers` containing some integer values. We use list comprehension to create a new list called `squared_numbers`, which contains the square of each element in the original list. The expression `x**2` calculates the square of each element, and the for loop iterates over each element in the `numbers` list.
List comprehension also allows the inclusion of conditions to filter or modify elements. Consider the following example:
“`
numbers = [1, 2, 3, 4, 5]
even_numbers = [x for x in numbers if x % 2 == 0]
“`
In this case, we create a new list called `even_numbers`, which contains only the even elements from the original list. The condition `if x % 2 == 0` checks if the element is divisible by 2 and only includes it in the `even_numbers` list if the condition is true.
Tuple comprehension, on the other hand, is not directly supported in Python. Tuples are immutable objects, meaning their elements cannot be changed once defined. Therefore, tuple comprehension in the same way as list comprehension is not possible.
However, Python provides a mechanism called generator expressions that can be used to achieve similar results for generating tuples. Generator expressions are enclosed in parentheses instead of square brackets and use the same syntax as list comprehension. The result is a generator object, which can be converted into a tuple using the `tuple()` function.
“`
numbers = [1, 2, 3, 4, 5]
squared_numbers = tuple(x**2 for x in numbers)
“`
In this example, we use a generator expression to create a sequence of squared numbers from the original list. The `tuple()` function is then used to convert the generator object into a tuple called `squared_numbers`.
FAQs:
Q: Can list comprehension replace conventional for loops?
A: Yes, list comprehension can often replace conventional for loops and make the code more concise and readable.
Q: Is list comprehension faster than using for loops?
A: In general, list comprehension tends to be faster than traditional for loops because it eliminates the need for appending elements to the list in each iteration. However, the difference in performance may vary depending on the specific use case.
Q: Can I nest multiple for loops and conditions in list comprehension?
A: Yes, list comprehension allows the nesting of multiple for loops and conditions. For example, you can create a list of all possible combinations of two lists using nested loops.
Q: How can I include an else statement in list comprehension?
A: List comprehension supports the inclusion of an else statement after the for loop, which can be used to specify a default value if a condition is not met.
Q: Are list comprehension and generator expressions the same thing?
A: No, although they use a similar syntax, list comprehension creates a new list, while generator expressions create a generator object that produces values on-demand.
In conclusion, list and tuple comprehensions are powerful features in Python that allow programmers to create new lists or generator objects in a concise and readable manner. List comprehension provides a compact syntax for transforming or filtering elements from an existing list, while tuple comprehension can be achieved using generator expressions. These features contribute to the overall efficiency and expressive power of Python programming.
Keywords searched by users: tuple comprehension in python Tuple comprehension Python, List comprehension Python, Transform list to tuple python, Dict comprehension Python, List of tuple Python, Set comprehension Python, Generator comprehension, Tuples HackerRank Solution
Categories: Top 26 Tuple Comprehension In Python
See more here: nhanvietluanvan.com
Tuple Comprehension Python
Tuple comprehension syntax in Python follows a similar pattern to list comprehension, but with a slight difference. The syntax for tuple comprehension is as follows:
“`python
tuple_expression = (expression for variable in iterable if condition)
“`
In this syntax, the ‘tuple_expression’ represents the expression or value that will be included in the resulting tuple. The ‘variable’ refers to the iterator variable that takes values from the ‘iterable’. The ‘iterable’ can be any collection or sequence in Python such as a list, tuple, string, or even a range. Lastly, the ‘condition’ is an optional part that allows you to filter or include specific elements based on a given condition.
Let’s dive deeper into each component of the tuple comprehension syntax:
– **Expression**: The expression defines the value or transformation that will be applied to each element in the iteration. It can be as simple as a single variable or a more complex expression involving arithmetic, functions, or even other comprehensions.
– **Variable**: The variable represents the current element of the iteration. It takes on successive values from the iterable. You can choose any valid variable name, similar to a regular loop variable.
– **Iterable**: The iterable is any sequential collection of elements that can be iterated over. It can be a list, tuple, string, or any other iterables. It can even be a generator or a range object.
– **Condition**: The condition is an optional part of the tuple comprehension syntax. It allows you to filter or include specific elements based on a given condition. The condition is expressed as a Boolean expression and is placed after the ‘if’ keyword. If the condition evaluates to True, the element is included; otherwise, it is skipped.
Let’s illustrate the concept of tuple comprehension with some examples:
“`python
# Example 1: Creating a tuple of squares
squares = tuple(x ** 2 for x in range(1, 6))
print(squares) # Output: (1, 4, 9, 16, 25)
# Example 2: Filtering even numbers
numbers = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
even_numbers = tuple(x for x in numbers if x % 2 == 0)
print(even_numbers) # Output: (2, 4, 6, 8, 10)
# Example 3: Creating a tuple of uppercase characters
string = “Hello, World!”
uppercase_chars = tuple(char.upper() for char in string if char.isalpha())
print(uppercase_chars) # Output: (‘H’, ‘E’, ‘L’, ‘L’, ‘O’, ‘W’, ‘O’, ‘R’, ‘L’, ‘D’)
“`
In the first example, we use a range object as the iterable and square each element to create a tuple of squares. The second example demonstrates how to filter even numbers from a given tuple. Finally, the third example generates a tuple containing the uppercase characters from a string while ignoring non-alphabetic characters.
Now, let’s address some frequently asked questions about tuple comprehension:
**Q: Can tuple comprehension be used with nested loops?**
A: Yes, tuple comprehension supports nested loops just like regular loops. You can have multiple ‘for’ clauses before the optional ‘if’ clause to generate combinations or permutations of elements from different iterables.
**Q: Can I modify the elements in a tuple comprehension?**
A: No, tuple comprehension is not intended for in-place modification of elements. It is primarily used to generate new tuples based on existing values and conditions. If you need to modify elements, consider using a regular loop or list comprehension instead.
**Q: Can I use tuple comprehension to create an empty tuple?**
A: Yes, you can create an empty tuple using tuple comprehension. Simply provide an empty iterable, and the resulting tuple will also be empty.
**Q: Are tuple comprehensions faster than traditional loops?**
A: In most cases, tuple comprehensions offer comparable performance to traditional loops. However, the actual performance depends on various factors such as the iteration size, complexity of expressions, and the condition. It’s recommended to use tuple comprehension when it results in more readable and concise code.
**Q: Can I use tuple comprehension for side effects without creating a tuple?**
A: Yes, tuple comprehension can be used for side effects, such as printing or updating values, without creating a tuple. Simply omit the parentheses around the comprehension to turn it into a generator expression.
In conclusion, tuple comprehension is a concise and efficient way to create tuples in Python. It allows you to generate tuples based on iterables and conditions, providing a more compact and expressive syntax compared to traditional loops. By understanding the syntax and examples provided in this article, you can leverage tuple comprehension to write cleaner and more efficient Python code.
List Comprehension Python
In the world of Python programming, list comprehension is a powerful and elegant feature that allows developers to create new lists using a concise and readable syntax. It is an essential tool for manipulating and transforming data in a more efficient and expressive manner. In this article, we will explore list comprehension in detail, understanding its syntax, applications, benefits, and common misconceptions.
List comprehension is a concise way to generate new lists by iterating over an existing iterable, such as a list, tuple, or string, and applying an expression or set of conditions to filter, transform, or combine the elements. It provides a more readable and compact alternative to using traditional for loops, making code shorter, more elegant, and easier to understand.
Syntax of List Comprehension:
The basic syntax of list comprehension follows the pattern:
[expression for element in iterable if condition]
– The expression is often an operation or transformation applied to each element of the iterable.
– The element represents the current item being processed in the iteration.
– The iterable is the existing sequence, such as a list, tuple, or string, over which the iteration takes place.
– The optional condition is a filtering mechanism that specifies which elements should be included in the new list.
Applications of List Comprehension:
List comprehension can be used in a variety of scenarios where you need to process or manipulate data. Some common applications include:
1. Filtering Elements:
List comprehension allows you to filter elements from an iterable based on certain conditions. For example, you can create a new list containing only the even numbers from an existing list:
“`
numbers = [1, 2, 3, 4, 5, 6]
even_numbers = [num for num in numbers if num % 2 == 0]
“`
2. Transforming Elements:
You can also use list comprehension to transform or modify elements of an iterable. For instance, you can convert a list of strings to uppercase:
“`
names = [‘alice’, ‘bob’, ‘charlie’]
upper_names = [name.upper() for name in names]
“`
3. Combining Elements:
List comprehension allows you to combine elements from two or more iterables into a new list using nested comprehensions. For example, you can generate pairs of numbers from two lists:
“`
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6]
pairs = [(x, y) for x in numbers1 for y in numbers2]
“`
Benefits of List Comprehension:
List comprehension offers several advantages over traditional for loops:
1. Clean and Readable Code:
The compact and expressive syntax of list comprehension results in clean and readable code, making it easier to understand and maintain.
2. Improved Performance:
List comprehension can often execute faster than equivalent for loops due to its optimization by the Python interpreter. It leverages internal optimizations, resulting in improved performance.
3. Reduction in Lines of Code:
By eliminating the need for a separate for loop, list comprehension reduces the number of lines of code, making programs more concise and reducing the chances of errors.
4. Simplification of Complex Tasks:
List comprehension allows you to perform complex transformations and filtering in a single line of code, simplifying the implementation of complex tasks.
Frequently Asked Questions (FAQs):
Q1. Can list comprehension be used with other data types besides lists?
Yes, list comprehension can be used with other iterables such as tuples and strings. The syntax and usage remain the same.
Q2. Is list comprehension a must-know concept for Python developers?
While list comprehension is not a mandatory concept, understanding and utilizing it can significantly enhance your Python coding skills and make your code more efficient and concise.
Q3. Are there any limitations to list comprehension?
List comprehension is a powerful tool, but it may not be suitable for all scenarios. Sometimes, complex logic or extensive computations may require the use of traditional for loops for better readability and maintainability.
Q4. Can multiple conditions be applied in a single list comprehension?
Yes, you can apply multiple conditions using logical operators such as `and` and `or` within the if statement of a list comprehension.
Q5. Are there any performance implications of using list comprehension?
List comprehension is generally optimized by the Python interpreter and can offer better performance compared to for loops. However, the actual performance impact may vary depending on the complexity of the expressions and the size of the data.
In conclusion, list comprehension is a powerful and elegant feature in Python that allows you to create new lists by filtering, transforming, or combining elements from existing iterables. It offers a concise syntax, improved performance, and simplifies complex tasks. By mastering list comprehension, you can enhance your Python coding skills and write more efficient and readable code.
Transform List To Tuple Python
In Python, data structures allow us to organize and manipulate data efficiently. Two widely used data structures in Python are lists and tuples. While both are similar in many ways, there are some key differences between them. Lists are mutable, meaning they can be modified after creation, whereas tuples are immutable, meaning they cannot be changed once created. This article will focus on how to transform a list into a tuple in Python, exploring different methods and providing examples.
Methods for Transforming a List into a Tuple
There are several approaches to convert a list to a tuple in Python. We will discuss three commonly used methods: using the tuple() function, the * operator, and list comprehension.
1. Using the tuple() function:
The simplest way to convert a list to a tuple is by using the built-in tuple() function. This function takes an iterable, such as a list, and returns a tuple containing the same elements.
Here is an example:
“`python
my_list = [1, 2, 3, 4, 5]
my_tuple = tuple(my_list)
print(my_tuple)
“`
Output:
“`
(1, 2, 3, 4, 5)
“`
In this example, the tuple() function accepts the list “my_list” and returns a tuple “my_tuple” containing the same elements.
2. Using the * operator:
Another way to transform a list into a tuple is by using the * operator. This operator is known as the unpacking operator or the splat operator in Python. It can be used to unpack the elements of a list and place them directly into a tuple.
Here is an example:
“`python
my_list = [1, 2, 3, 4, 5]
my_tuple = (*my_list,)
print(my_tuple)
“`
Output:
“`
(1, 2, 3, 4, 5)
“`
In this example, the * operator is used to unpack the elements of the list “my_list” and place them into a tuple directly. Note that the comma after “my_list” is necessary to indicate that we want to create a tuple.
3. Using list comprehension:
List comprehension is a powerful technique in Python that allows us to create lists based on existing lists. We can use list comprehension to transform a list into a tuple by iterating over each element of the list and appending it to a new tuple.
Here is an example:
“`python
my_list = [1, 2, 3, 4, 5]
my_tuple = tuple([x for x in my_list])
print(my_tuple)
“`
Output:
“`
(1, 2, 3, 4, 5)
“`
In this example, list comprehension is used to iterate over each element of the list “my_list” and create a new list with the same elements. Finally, the tuple() function is used to convert the new list into a tuple.
Frequently Asked Questions (FAQs)
Q1: What is the difference between a list and a tuple in Python?
A: A list is a mutable data structure, meaning its elements can be modified after creation. On the other hand, a tuple is an immutable data structure, meaning its elements cannot be changed once created. Lists are represented by square brackets [], while tuples are represented by parentheses ().
Q2: Why would I need to convert a list into a tuple?
A: There are several reasons why you might want to convert a list into a tuple. Tuples are often used for collections of related data that should not be modified. By converting a list to a tuple, you can enforce immutability, ensuring that the data does not change unintentionally.
Q3: Can I convert a tuple into a list using similar methods?
A: Yes, the reverse conversion is also possible. You can use the list() function, the * operator, or list comprehension to convert a tuple into a list.
Q4: Can I transform a multi-dimensional list into a multi-dimensional tuple?
A: Yes, all the methods discussed in this article can be used to transform multi-dimensional lists into multi-dimensional tuples. The resulting tuple will maintain the same structure as the original list.
Q5: Are there any performance implications when transforming a list into a tuple?
A: Converting a list into a tuple does not have a significant impact on performance. However, keep in mind that the elements themselves are not copied; only the references to the elements are stored in the tuple.
In conclusion, transforming a list into a tuple in Python can be done using various methods such as the tuple() function, the * operator, or list comprehension. Each method has its advantages, and the choice depends on the specific requirements of your code. Knowing how to convert between different data structures allows you to leverage the strengths of each data type and maximize the efficiency of your code.
Images related to the topic tuple comprehension in python
Found 31 images related to tuple comprehension in python theme
Article link: tuple comprehension in python.
Learn more about the topic tuple comprehension in python.
- Python Tuple Comprehension: Step-by-Step Guide (Examples)
- Why is there no tuple comprehension in Python?
- Tuple comprehensions in Python – Michael is coding
- Tuples and List comprehensions
- Python List Comprehension – TutorialsTeacher
- Tuple comprehension – TopDev
- Tuple comprehension Python | Example code – EyeHunts
- Tuple Comprehension in Python is it Possible?
- Tuples and List comprehensions
- Tuple Comprehension – Nandhabalan Marimuthu – Medium
- How to do tuple comprehension in Python – sebhastian
- Tuple comprehensions in Python – Michael is coding
- Tuple Comprehension in Python – PythonForBeginners.com
See more: nhanvietluanvan.com/luat-hoc