Append and extend methods in Python

Differences between two Python methods with code examples
22 August 2017   1707

Our team made a research and found what are the differences between these to methods.

  • append adds its argument as a single element to the end of a list. The length of the list itself will increase by one.
  • extend iterates over its argument adding each element to the list, extending the list. The length of the list will increase by however many elements were in the iterable argument.

append

The list.append method appends an object to the end of the list.

my_list.append(object) 

Whatever the object is, whether a number, a string, another list, or something else, it gets added onto the end of my_list as a single entry on the list.

>>> my_list
['foo', 'bar']
>>> my_list.append('baz')
>>> my_list
['foo', 'bar', 'baz']

So keep in mind that a list is an object. If you append another list onto a list, the first list will be a single object at the end of the list (which may not be what you want):

>>> another_list = [1, 2, 3]
>>> my_list.append(another_list)
>>> my_list
['foo', 'bar', 'baz', [1, 2, 3]]
                     #^^^^^^^^^--- single item on end of list.

extend

The list.extend method extends a list by appending elements from an iterable:

my_list.extend(iterable)

So with extend, each element of the iterable gets appended onto the list. For example:

>>> my_list
['foo', 'bar']
>>> another_list = [1, 2, 3]
>>> my_list.extend(another_list)
>>> my_list
['foo', 'bar', 1, 2, 3]

Keep in mind that a string is an iterable, so if you extend a list with a string, you'll append each character as you iterate over the string (which may not be what you want):

>>> my_list.extend('baz')
>>> my_list
['foo', 'bar', 1, 2, 3, 'b', 'a', 'z']

 

Microsoft to Use Chromium for Edge Browser

The company has already placed the repository on GitHub to attract new members to the development of the browser
07 December 2018   109

Microsoft Vice President Joe Belfiore said that from December 6, 2018, the company will use the Chromium engine in the Microsoft Edge browser. According to him, Microsoft also plans to develop browsers for smartphones and other devices.

The company has already placed the repository on GitHub to attract new members to the development of the browser. Microsoft expects that the transition to the new engine will be a big step in the development of Microsoft Edge. For example, the browser will finally be adapted for macOS.

According to Belfiore, the company plans to improve the project in three areas:

  • Users will get hardware integration, improved browser compatibility with sites and reduced power consumption of devices when using it.
  • Web developers will appreciate the reduced fragmentation of a web platform for testing sites.
  • The corporate IT sector will get the compatibility of old and new Windows applications that run in the browser.

He noted that during the year the company would work “under the hood” of Microsoft Edge, and named several key stages of this process. For example, the transition to a platform compatible with the Chromium engine for developing a desktop version of the browser. It is also planned that most platforms and all versions of Windows will support Microsoft Edge.