Trending February 2024 # What Are Python Dictionary View Objects? # Suggested March 2024 # Top 8 Popular

You are reading the article What Are Python Dictionary View Objects? updated in February 2024 on the website Achiashop.com. We hope that the information we have shared is helpful to you. If you find the content interesting and meaningful, please share it with your friends and continue to follow and support us for the latest updates. Suggested March 2024 What Are Python Dictionary View Objects?

A dictionary is a data structure that is used for storing a group of objects. A dictionary is having set of keys and every key has a single allocated value. When presented with a key, the dictionary will return the allocated value.

In the python dictionaries, some of the methods return view objects. This view objects are dynamic view objects, meaning that when we made some changes in the dictionary then the view reflects all these changes.

The main view objects of dictionary in python are keys, values and items. They provide a non-constant view of the dictionary’s entries.

Keys holds all the keys of the dictionary, the values objects holds all the values, whereas the items holds the key-value pairs.

keys

The view object keys represent all the keys in a dictionary. You can retrieve the contents of this object using the keys() method.

If you print the view object keys, it displays the new list of all the keys in the dictionary in order of insertion.

Once we retrieve all the keys using the keys() method into a variable (say keys), if we update the dictionary (i.e. add or delete keys) the changes will be reflected in the variable.

Example 1

In the following example we are trying to retrieve all the keys of a dictionary using the keys() method.

k

=

d

.

keys

(

)

print

(

k

)

print

(

type

(

k

)

)

Output dict_keys(['a', 'b', 'c', 'd']) Example 2

Updates will be reflected in the retrieved keys

In the following program, we have created a dictionary with 4 key value pairs in it. Retrieved the keys from the dictionary and stored them in variable keys.

Later we have added an element to the dictionary.

If print the value of the variable keys after the update. You can find the key of the added element there.

keys

=

dictionary

.

keys

(

)

print

(

“Keys before Dictionary Updation:”

,

keys

)

dictionary

[

‘e’

]

=

5

print

(

“listing updated dictionary:”

,

dictionary

)

print

(

“Keys after Dictionary Updation:”

,

keys

)

Output Keys before Dictionary Updation: dict_keys(['a', 'b', 'c', 'd']) listing updated dictionary: {'a': 5, 'b': 2, 'c': 0, 'd': 7, 'e': 5} Keys after Dictionary Updation: dict_keys(['a', 'b', 'c', 'd', 'e']) Example 3

Following is another example of the keys() function in here we are removing a key and verifying the contents of the retrieved keys.

print

(

“The dictionary before removing a key is : “

+

str

(

dict

)

)

removed_value

=

dict

.

pop

(

‘Raju’

)

print

(

“The value of removed key is : “

+

str

(

removed_value

)

)

print

(

“The dictionary after removing key is : “

+

str

(

dict

)

)

Output The dictionary before removing a key is : {'Madhu': 1001, 'Raju': 1002, 'Radha': 2003, 'Yadav': 9004} The value of removed key is : 1002 The dictionary after removing key is : {'Madhu': 1001, 'Radha': 2003, 'Yadav': 9004} Values

values() is an built in method of Python programming language which returns a view object. That view object contains the value of the dictionary as a list.

Example 1

Following is an example to print the values of a dictionary −

v

=

d

.

values

(

)

print

(

v

)

print

(

type

(

v

)

)

Output

As we can see in the following output, all the values of the dictionary gets printed −

dict_values([5, 2, 0, 7]) Example 2- Updating the dictionary

Following is an example to update the dictionary by adding values to it −

v

=

d

.

values

(

)

print

(

‘values before before updating : ‘

,

v

)

d

[

‘e’

]

=

5

print

(

‘Dictionary after adding new value’

,

d

)

print

(

‘value of the updated dictionary: ‘

,

v

)

Output values before before updating : dict_values([5, 2, 0, 7]) Dictionary after adding new value {'a': 5, 'b': 2, 'c': 0, 'd': 7, 'e': 5} value of the updated dictionary: dict_values([5, 2, 0, 7, 5]) Example 3

Following is an example to sum up the values of a dictionary −

d1

=

{

“apple”

:

5000

,

“gold”

:

60000

,

“silver”

:

50000

}

list1

=

d1

.

values

(

)

a

=

(

sum

(

list1

)

)

print

(

‘Total value:’

,

a

)

Output Total value: 115000 Items

The items() method returns a new view of the dictionary’s items ((key, value) pairs) as a list with all dictionary keys with values.

Syntax

Following is the syntax of items −

dictionary.items() Example 1

Following is an example to print all the items of a dictionary −

i

=

d

.

items

(

)

print

(

i

)

print

(

type

(

i

)

)

Output dict_items([('a', 5), ('b', 2), ('c', 0), ('d', 7)]) Example 2

Following is an example to remove item from the dictionary −

print

(

“Original Dictionary items:”

,

d1

)

items

=

d1

.

items

(

)

del

[

d1

[

‘c’

]

]

print

(

‘Updated Dictionary:’

,

items

)

Output Original Dictionary items: {'a': 5, 'b': 2, 'c': 0, 'd': 7} Updated Dictionary: dict_items([('a', 5), ('b', 2), ('d', 7)]) Example 3

The following example shows the modification of items() of a dictionary −

“brand”

:

“Ford”

,

“model”

:

“Mustang”

,

“year”

:

1964

}

print

(

‘Orginal dictionary: ‘

,

car

)

x

=

car

.

items

(

)

car

[

“year”

]

=

2024

print

(

‘updated dictionary: ‘

,

x

)

Output

As we can see in the following output, the year has been modified from 1964 to 2023 −

Orginal dictionary: {'brand': 'Ford', 'model': 'Mustang', 'year': 1964} updated dictionary: dict_items([('brand', 'Ford'), ('model', 'Mustang'), ('year', 2023)])

You're reading What Are Python Dictionary View Objects?

How To Iterate Through A Dictionary In Python?

Dictionaries are a valuable and frequently used data structure in Python. This article tells us how to traverse through a dictionary while performing operations on its key-value pairs.

Using dict.items() Method

Python’s dict.items() method allows you to loop through the dictionary. Each repetition will provide you with both the key and value of each item.

Example

Following is an example to iterate through a dictionary using dict.items() method −

‘Novel’

:

‘Pride and Prejudice’

,

‘year’

:

‘1813’

,

‘author’

:

‘Jane Austen’

,

‘character’

:

‘Elizabeth Bennet’

}

for

keys

,

values

in

dictionary

.

items

(

)

:

print

(

keys

,

values

)

Output

Following is an output of the above code.

Novel Pride and Prejudice year 1813 author Jane Austen character Elizabeth Bennet Using Keys() Method

To iterate through the dictionary’s keys, utilise the keys() method that is supplied by the dictionary. An iterable of the keys available in the dictionary is returned. Then, as seen below, you can cycle through the keys using a for loop.

Example – 1

Following is an example to iterate through a dictionary using keys() method −

‘Novel’

:

‘Pride and Prejudice’

,

‘year’

:

‘1813’

,

‘author’

:

‘Jane Austen’

,

‘character’

:

‘Elizabeth Bennet’

}

for

keys

in

dictionary

.

keys

(

)

:

print

(

keys

)

Output

Following is an output of the above code:.

Novel year author character Example – 2

If you want to get the values of the keys during each iteration, you can use the get() method, as it is demonstrated below −

‘Novel’

:

‘Pride and Prejudice’

,

‘year’

:

‘1813’

,

‘author’

:

‘Jane Austen’

,

‘character’

:

‘Elizabeth Bennet’

}

for

keys

in

dictionary

.

keys

(

)

:

print

(

dictionary

.

get

(

keys

)

)

Output

Following is an output of the above code.

Pride and Prejudice 1813 Jane Austen Elizabeth Bennet Using Values() Method

To iterate through the values of the dictionary elements, utilise the values() method that the dictionary provides.

An iterable of all the values for each item that is available in the dictionary is returned. You can then go through the numbers as shown below by using a for loop.

Example

This approach prevents access to the dictionary keys(), which is typically not required. As a result, iterating through the dictionary using this way is the quickest method.

The items() method offered by the Python dictionary allows you to loop through the dictionary entries.

Following is an example to iterate through a dictionary using values() method −

‘Novel’

:

‘Pride and Prejudice’

,

‘year’

:

‘1813’

,

‘author’

:

‘Jane Austen’

,

‘character’

:

‘Elizabeth Bennet’

}

for

values

in

dictionary

.

values

(

)

:

print

(

values

)

Output

Following is an output of the above code −

Pride and Prejudice 1813 Jane Austen Elizabeth Bennet Iterating with Index

The items’ index can be used to iterate across the dictionary.Iterating the dictionary without utilising the methods keys(), values(), or items is similar to this.

Example

Following is an example to iterate through a dictionary with index −

‘Novel’

:

‘Pride and Prejudice’

,

‘year’

:

‘1813’

,

‘author’

:

‘Jane Austen’

,

‘character’

:

‘Elizabeth Bennet’

}

for

index

in

dictionary

:

print

(

index

,

dictionary

[

index

]

)

Output

Following is an output of the above code.

Novel Pride and Prejudice year 1813 author Jane Austen character Elizabeth Bennet Iterating Over Dictionary In Alphabetical Order

Ordinarily, dictionaries don’t keep any sort of order. This implies that the iteration’s order of the items is not guaranteed. The sorted() function in Python can be used to iterate a dictionary using a given order. The item will be sorted first, after which a for loop can traverse over it.

Example

sorted(dictionary.keys()) sorts the dictionary’s keys and for iterates through the keys that the sorted function returned.

Following is an example to iterate through a dictionary with index −

‘Novel’

:

‘Pride and Prejudice’

,

‘year’

:

‘1813’

,

‘author’

:

‘Jane Austen’

,

‘character’

:

‘Elizabeth Bennet’

}

for

keys

in

sorted

(

dictionary

.

keys

(

)

)

:

print

(

keys

,

dictionary

[

keys

]

)

Output

Following is an output of the above code.

Novel Pride and Prejudice author Jane Austen character Elizabeth Bennet year 1813 Sort Using Dictionary Item Values

You must first generate a sorted set of keys before you can sort the dictionary according to its values.

The sorted keys set can then be iterated, with each iteration allowing you to access the dictionary using the key.

Example

A set of sorted keys is produced using sorted keys = sorted(dictionary,key=dictionary.get).

in sorted keys for values: – repeats the set of sorted keys

sorted_dictionary[values] = dictionary[values]–To the sorted dictionary, access the dictionary and add the value. Now, the sorted values will be present in the final dictionary. To verify the outcomes, print it.

Following is an example to sort using dictionary item values −

dictionary

=

{

'Novel'

:

'Pride and Prejudice'

,

'year'

:

'1813'

,

'author'

:

'Jane Austen'

,

'character'

:

'Elizabeth Bennet'

}

sorted_dictionary

=

{

}

sorted_key

=

sorted

(

dictionary

,

key

=

dictionary

.

get

)

for

values

in

sorted_key

:

sorted_dictionary

[

values

]

=

dictionary

[

values

]

print

(

sorted_dictionary

)

Output

Following is an output of the above code −

{'year': '1813', 'character': 'Elizabeth Bennet', 'author': 'Jane Austen', 'Novel': 'Pride and Prejudice'}

What Are Parameterized Typescript Functions?

Introduction to TypeScript Functions

Any programming language has its own set of predefined functions. And some functions are going to be defined by us. Functions are the main building blocks of any programming paradigm. If you know JavaScript functions then it is a lot easier to know about typescript functions. Typescript is a superset of JavaScript and for typescript, you need to be familiar with its ES6 syntax.

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

How to Define TypeScript Functions?

Syntax:

function add(a,b) { return a*b; }

We will also see the same example for anonymous functions.

Example:

function add(a: number ,b: number): number { return a*b; } How to Call TypeScript Functions?

If you are writing any function, then it has to be called to execute it. Writing function is known as a function definition in programming. We are calling the function with the function name and a pair of parenthesis.

For example, let’s take the above add function. We will call that function as below.

add(5,10); How to Return TypeScript Functions?

In this example you can see there are many situations where we have used return keyword is just to return value from it. We can return any type of value. If you want to return something from a function at that time you must use return statement with the semicolon. We can only return one and only one value from a single function. While returning the value we must check that returning value and type function should be the same so that the caller get the return value.

Example:

function cake():string { return "Welcome to the world of cakes" } function bake() { var bakery = cake(); console.log(bakery); } bake()

Look at the above example carefully, here we have two functions one is bake and the other is cake. We are calling function cake inside the function bake. And function cake returning the string value. In the bake function, we are assigning our functional call to the variable bakery. Then we log that variable to the console. Upon executing this we will get “Welcome to the world of cakes ” as an output. It is easy to understand with little practice.

What is Parameterized TypeScript Functions?

The parameter is the case where a user has to give some value to work on. The parameter has to be considered important if mentioned. We must have to give respective values to each parameter in typescript. In programming, while working with parameterized functions no arguments should be matched with no of arguments.

Example:

function student(fName: string, lName: string) { return fName + " " + lName; } let student1= student ("John", "roy");

We will look at the example. Take the same function student and we will try to make some parameters optional.

Example:

function student(fName: string, lName?: string) { return fName + " " + lName; } let student1= student ("John");

In above example we just gave value for first name parameter. And it will work without the second parameter. Now it will not show any error.

Now, other than this if we wanted to give some default value to the parameter then we can do that.

Example:

function student(fName: string, lName: string = "rey") { return fName + " " + lName; } let student1= student ("John");

Now, the above program will work correctly without any errors. It is fine to give a default value to the parameter.

Examples of TypeScript Functions

Following are the examples as given below:

Example #1

Here in the above example, we used an arrow function. Note that here we are not using the return statement because as per the convention if we have only one statement and i.e return statement then we don’t need to write it explicitly. This is shorthand syntax and is most commonly used in typescript.

Example #2

We can call one function as many times as we want, look at the below example to know more.

function student(fName: string, lName?:string) { return fName + " " + lName; } student ("John"); student ("sam"); student ("ken"); student ("bren");

And simultaneously we made last name parameter optional. So that we don’t need to give the second parameter.

Example #3

Another example we are going to look for rest parameters. Till now we have seen parameters like optional, default and required. But there is one more case to this. What if we don’t know how much parameters the function will exactly take.

We will make use of the ellipsis (…) operator here. Again we will take the above example of a student.

function student(fName: string, …remainigStudents: string [] ) { return fName + " " + remainigStudents.join(" "); } let allStudents = student("john", "sam", "reema", "kerry", "jem");

If you look closely we have given n no of arguments. But in a function definition, we just gave two parameters. But look at that three dots(…0) before the second parameter. It is called ellipsis. Which helps us do so.

Writing functions and work on them needs some debugging skills. For working with functions you need to understand the ES6 features of JavaScript.

Conclusion

Working with functions is the most important thing because by combining these functions we are designing the functionality. Functions in typescript are referred to as ES6 syntax. This is mostly seen with the arrow functions. ES6 is an ECMASript standard for JavaScript. We also have ES7 now and more releases will come in the future with some new features.

Recommended Articles

We hope that this EDUCBA information on “TypeScript Functions” was beneficial to you. You can view EDUCBA’s recommended articles for more information.

What Is Queue In Python? Explain With Examples

A queue is a linear data structure that works on the First In First Out mechanism(FIFO).

The element which enters first in the queue is the first to be processed.

Example

The queue data structure can be understood with the help of a queue at a bus stand. The person who reaches first at the bus stand is the first person in the queue and other persons stand him as they reach the bus stand. When the bus arrives, the person who reached first at the bus stand will be the first person to enter the bus and the rest will enter in the order in which they reached the bus stand. Thus, the FIRST IN FIRST OUT mechanism is followed.

Implementation of Queue in Python

The Queue in Python can be implemented in various ways using other linear data structures or in-built modules in the Python library.

Method 1 − Implement using list

The queue in Python can be implemented using list. It is not very efficient since inserting or deleting an element at the beginning of the list takes O(n) time which is slow compared to an implementation using other ways.

Operations involved

append() − This function adds an element at the end of the queue.

pop(0) − This function removes and returns the first element in the queue.

Example

 Live Demo

queue=[] queue.append(1) queue.append(2) queue.append(3) print("Initial queue",queue) print("Element popped from the queue") print(queue.pop(0)) print(queue.pop(0)) print("Queue after popping some elements",queue) Output Initial queue [1, 2, 3] Element popped from the queue 1 2 Queue after popping some elements [3]

You can’t remove more elements once the queue is empty. Doing so results in an exception.

queue.pop(0) IndexError: pop from empty list Method 2 − Implement using queue.Queue

This is the way to implement queue using inbuilt module from python. We need to import Queue from queue. We can initialize queue with some specific size. A size of zero means an infinite queue.

Operations involved

maxsize − maximum number of elements allowed in a queue

get() − remove and return the first element from the queue. If queue is empty, wait until queue has atleast one element.

get_nowait() − remove and return the first element from the chúng tôi queue is empty, raise an exception.

put(item) − append an element at the end of the chúng tôi queue is full, wait until a free slot is availabe.

put_nowait(item) − append an element at the end of the chúng tôi queue is full, raise an exception.

full() − returns true if the queue is full, else return false.

empty() − return True if the queue is empty, else false

qsize() − returns the number of elements present in the queue

Example

 Live Demo

from queue import Queue q=Queue(maxsize=3) q.put(1) q.put(2) q.put(3) print("Is queue full",q.full()) print("Element popped from the queue") print(q.get()) print(q.get()) print("Number of elements in queue",q.qsize()) print("Is queue empty",q.empty()) Output Is queue full True Element popped from the queue 1 2 Number of elements in queue 1 Is queue empty False Method 3 − Implement using collections.deque

This is another way to implement a queue in Python. We need to import deque from the collections module.

Operations involved

append() − This function adds an element at the end of the queue.

popleft() − This function removes and returns the first element in the queue in O(1) time complexity.

Example

 Live Demo

from collections import deque queue=deque() queue.append(1) queue.append(2) queue.append(3) print("Intial queue: ",queue) print("Element popped from the queue") print(queue.popleft()) print(queue.popleft()) print("Queue after popping some elements: ",queue) Output Intial queue: deque([1, 2, 3]) Element popped from the queue 1 2 Queue after popping some elements: deque([3])

Using popleft() function on an empty deque will raise an exception.

How To Group And Expand Objects In Illustrator

Learning how to group and expand objects in Illustrator allows you to remove backgrounds from images, add color and effects to objects and so much more.

Grouping in Illustrator allows you to work on separate images like they are one (group them). If you are working on separate objects and want to move or work on them as one, then you can group them. Expanding allows you to break an object or objects up into separate pieces so that you can work on them separately.

How to Group and Expand Objects in Illustrator

Grouping and expanding objects in Illustrator is an important tool for creating graphics. This article will show you how to use both grouping and expanding in Illustrator.

Grouping and ungrouping objects in Illustrator Grouping

Grouping is important in Illustrator because it allows you to group objects that you want to keep together. You can group parts of things you are working on if you want to apply the same color or make them the same size or even move them. When you have separate objects, they will have separate transfer boxes around them and can be individually resized and moved.

When you group objects, they are stacked in order of how they were placed on the layer. That means they will be in the order of succession. This means the first objects placed will be behind the one that comes after and so on. In the image above, the letters were written the order they appear, you will notice that the letters that follow are on top. The last letter is above the letters that are before it.

If you select objects in different layers and then group them, the objects are grouped in the layer of the topmost selected object. Therefore, grouping may change the layering of objects, and their stacking order on a given layer. Groups appear as Group items in the Layers panel. You can use the Layers panel to move items in and out of groups.

Groups can also be nested, that is, they can be grouped within other objects or groups to form larger groups.

Ungrouping

There may be cases where you want to ungroup objects. You may also use ungroup in cases where you expanded an object, and you want to be able to select each part separately.

Expanding objects in Illustrator

When you choose to expand an object, you turn its attributes into selectable objects. For example, if you expand a simple square that has a solid-color fill and a stroke, the fill and the stroke will become directly selectable and editable.

This is the object with the fill and stroke before it is expanded.

To expand the object, select the object then go to the top menu bar and select Object then Expand.

This is the object when it is expanded, you will see that the transform box appears around the color fill and the stroke.

Note

If you have appearance attributes applied to the object, the Expand option may be grayed out. In this case, you will have to first do Object then Expand appearance after that you then select Object then Expand.

Below are the different things that the Expand object options will do.

Object: Expands complex objects, including live blends, envelopes, symbol sets, and flares.

Fill: Expands fills.

Stroke: Expands strokes.

Gradient Mesh: Expands gradients to a single mesh object.

Specify: Sets the tolerance for color values between color stops. Higher numbers help maintain a smooth color transition. Low numbers can create a more banded appearance.

Note

If you hold Alt while you press Object and then Expand on an object with a gradient, Illustrator will expand the gradient using the last settings in the Expand option. If you had done Object then Expand on the object with the gradient, it would show the Expand menu. Holding Alt while you press Object then Expand will skip the Expand menu window and just use the last settings.

Object with gradient before expanding

This is the object with the gradient expanded notice the lines in the gradient are more distinct.

Read: How to blend Objects in Illustrator using Blend Tool

Why is an object not expanding in Illustrator? How can multiple objects be resized at once in Illustrator?

What Are “Super Apps,” And Which Companies Are Building Them?

If you want to book an Airbnb, get some food delivered, pay a bill, chat with your friends, and get a personal masseuse sent to your apartment, how many apps will you need? If you live in a decently-sized Asian city, odds are you’ll only need one – a “super app.”

Though most haven’t spread out of Asia yet, apps like WeChat, Alipay, Grab, Go-Jek, Paytm, Kakao, and Line are becoming an essential part of life in many places. Most started with a few functions, like chatting with friends, making payments, or hailing rides, but have essentially turned into miniature operating systems for life.

The super app model makes sense: it’s an easy way to get access to many different services, saves phone space, and frees users from having to hunt down lots of different apps. There are significant downsides as well, though, particularly when it comes to privacy and competition.

The trend is also catching on in Latin America – another mobile-first culture. North American and European companies like Facebook, Uber, and Amazon are eying the possibility of becoming regional super apps as well. But with a lot of super-app services already dominated by individual companies, it won’t be easy for even these tech giants to become anything close to a western WeChat.

Super app superstars

Without a doubt, the current king of super apps is Tencent’s WeChat – an app that more than two-thirds of the Chinese population uses, many of them for an average of several hours a day. WeChat and its competitor app, Alipay, are so frequently used for mobile payments that paying for things by cash or card is actually becoming a challenge.

Some of the biggest drawbacks of super apps are also evident in things here, though. The sheer scale of WeChat and Alipay is effectively suppressing competition, as anyone who wants to bring a new service to users typically does it through one of those apps. Privacy is also a major concern, as the more things users can do in a single app, the more that app can learn about them, and that’s more than a little concerning in a country that is working on implementing a social credit score for its citizens.

Pretty much every other super app is a “light” version of WeChat. They aggregate services in the same way, but you’re unlikely to open one until it’s time to order food or get a ride. They’re handy, but most users wouldn’t place them in the same category as electricity and Internet. That said, they still do a lot, and all of the below apps bear watching:

Go-Jek (Indonesia and Southeast Asia): Over 20 services ranging from mobile payment to mobile massage therapists.

Grab (Singapore and Southeast Asia): One of Southeast Asia’s most successful startups, they started with ride-hailing and are now used for e-payments, food delivery, and several other features.

Paytm (India): Backed by Alibaba (of Alipay), Paytm provides e-payments, financial services, ride-hailing, shopping, and lots of other services to India’s population.

Rappi (Colombia and Latin America): It started out as an app that connected users to couriers that could pick up and deliver pretty much anything, but it is moving into areas like e-payments, scooter sharing, and financial services.

Super apps: coming to an app store near you?

Currently, Europe, Australia, Africa, and the U.S and Canada don’t have any apps that could be described as “super.” Particularly in the US, this is the result of digital goods and services evolving somewhat gradually, with innovative companies staking out and defending different territories. Japan and Korea are in a similar boat. Though Line and Kakao are super apps, the more gradual development of their digital services meant that there were more limited opportunities for any one company to come in and grab large parts of multiple markets.

Of course, every company still wants to be that super app, so they’re trying nonetheless. Facebook Messenger’s leader, David Marcus, has described WeChat as “inspiring” in the past, and if you’ve been keeping track of the app’s developments over the past few years, you’ll notice some parallel developments. Their move towards payments with Libra is an especially big step in the “super app” direction, but the amount of pushback they’ve gotten on that illustrates the uphill battle they’re facing.

Uber has also declared its intent to become an “operating system for everyday life.” They’ve started by combining Uber and Uber Eats into one app and have expanded the transportation options you can find. They even have a freight company now – Uber Freight, in case you didn’t know.

Then there’s Amazon, which is already pursuing super app status in India, where it offers e-payments, flight bookings, ride-hailing, food delivery, and more, either directly or through companies it has acquired.

Do we even want/need a super app?

Super apps are undeniably convenient and make life a bit simpler, but bundling those services together under one corporate umbrella might not turn out to be the best idea for the digital ecosystem in the long run. Competition helps drive innovation, and it prevents any one company from having too much power.

The most likely scenario is that we’ll end up with several different ecosystems with super app characteristics. Messenger and Uber might not become America’s WeChat and Grab, but they’ll probably add some useful features in their efforts to get there.

Image credits: The screenshot of WeChat, Grab, GoJek, Uber, Paytm

Andrew Braun

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Sign up for all newsletters.

By signing up, you agree to our Privacy Policy and European users agree to the data transfer policy. We will not share your data and you can unsubscribe at any time.

Update the detailed information about What Are Python Dictionary View Objects? on the Achiashop.com website. We hope the article's content will meet your needs, and we will regularly update the information to provide you with the fastest and most accurate information. Have a great day!