Menggabungkan Dictionary di Python

Pada beberapa kesempatan, aku perlu untuk menggabungkan beberapa dictionary menjadi satu dictionary. Misal saya memiliki dua buah dictionary person dan address seperti di bawah ini:

>>> person = {'name': 'Faruq', 'age':26} >>> address = {'planet': 'Earth', 'color':'blue'}
Code language: Python (python)

Maka cara untuk menggabungkannya ke dalam dictionary yang baru, ada beberapa cara. Tetapi, cara paling mudah adalah menggunakan tanda bintang (*)​1​.

>>> person_address = {**person, **address} >>> person_address {'name': 'Faruq', 'age': 26, 'planet': 'Earth', 'color': 'blue'}
Code language: Python (python)

Mengapa menggunakan tanda bintang? Bukannya itu adalah operator perkalian di Python maupun bahasa pemrograman lainnya?

Memang benar, tanda bintang merupakan operator perkalian, jika sebagai operator infiks, yaitu operator yang berada di tengah operand, misal:

>>> 3 * 4 12 >>> 'Hello' * 3 'HelloHelloHello'
Code language: JavaScript (javascript)

Namun, jika tanda bintang tersebut digunakan sebagai operator prefiks, maka tanda bintang memiliki beberapa kegunaan ​2​ contohnya:

  • * dan ** untuk meneruskan argumen ke fungsi.
  • ** untuk unpack alias membongkar sebuah dictionary ke dictionary lainnya.
  • * untuk membongkar sebuah iterable ke sebuah list atau tuple.

  1. 1.
    How can I merge two Python dictionaries in a single expression? StackOverflow. https://stackoverflow.com/a/26853961.
  2. 2.
    Asterisks in Python: what they are and how to use them. Trey Hunner. https://treyhunner.com/2018/10/asterisks-in-python-what-they-are-and-how-to-use-them/.

Diterbitkan oleh

Faruq Sandi

Loves cats, computer, and linux terminal.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

This site uses Akismet to reduce spam. Learn how your comment data is processed.