Sự ảo ma của * trong Python

Trong bài viết này, mình sẽ chém gió về một số cách sử dụng khác nhau của a.k.a “*” trong Python Ảnh của Paints with Diamonds Tạo collections với các phần tử lặp lại: collections =[1,2,3]*2print(collections)# output: [1, 2, 3, 1, 2, 3] Chúng ta hoàn toàn có thể áp dụng tương tự với tuple

Trong bài viết này, mình sẽ chém gió về một số cách sử dụng khác nhau của a.k.a “*” trong Python
image.png

Ảnh của Paints with Diamonds

Tạo collections với các phần tử lặp lại:

collections =[1,2,3]*2print(collections)# output: [1, 2, 3, 1, 2, 3]

Chúng ta hoàn toàn có thể áp dụng tương tự với tuple hay chuỗi:

collections =(1,2,3)*2print(collections)# output: (1, 2, 3, 1, 2, 3)
strings ="VN"*2print(strings)# output: VNVN

Unpacking tập hợp tuần tự thành các biến riêng biệt

collections =(4,5)
x, y = collections
print(x, y)# output: 4 5

Với các biến mà ta không sử dụng ta có thể sử dụng _ để biểu diễn:

data =['VietNam',84,100,'VN']
country, country_code, population, short_name = data
print(country, country_code, population, short_name)# output: VietNam 84 100 VN
country, country_code, population, _ = data
print(country, country_code, population)# output: VietNam 84 100

Các tiêu đề sau mình xin mạn phép để tiếng anh vì dịch ra thì nghe nó cũng khá thô và cũng không sát nghĩa lắm :V

Unpacking Elements from Iterables of Arbitrary Length
Lấy tất cả các phần tử ở giữa của list:

grades =[1,2,3,4,5]
first,*middle, last = grades
print(first, middle, last)# output: 1 [2, 3, 4] 5

Lấy tất cả các phần tử còn lại của list:

record =('VN','vn@example.com','0773555121','0847555212')
name, email,*phone_numbers = record
print(name, email, phone_numbers)# output: VN vn@example.com ['0773555121', '0847555212']

Dùng vài cái * một lúc nó sẽ như này:

record =('FUKADA',50,123.45,(12,18,2012))
name,*_,(*_, year)= record
print(name, year)# output: FUKADA 2012

args and kwargs
Hãy thử xem hàm dưới đây:

defcalculate(a,b,*args,**kwargs):print(a, b)print(arg)for key in kwargs:print(key, kwargs[key])
calculate(2,3,4,5,6, num1=8,num2=9)# output: 2 3# (4, 5, 6)# num1 8# num2 9

Merging Different Types Of Iterables

var1 =(1,2,3)
var2 ={4,5,6}
collections =[*var1,*var2]print(collections)#output: [1, 2, 3, 4, 5, 6]

Merging Two Dictionaries

dict1 ={'key1':1,'key2':2}
dict2 ={'key3':3,'key4':4}dict={**dict1,**dict2}print(dict)#output: {'key1': 1, 'key2': 2, 'key3': 3, 'key4': 4}

Nguồn: viblo.asia

Bài viết liên quan

9 Mẹo lập trình Web “ẩn mình” giúp tiết kiệm hàng giờ đồng hồ

Hầu hết các lập trình viên (kể cả những người giỏi) đều tốn thời gian x

Can GPT-4o Generate Images? All You Need to Know about GPT-4o-image

OpenAI‘s GPT-4o, introduced on March 25, 2025, has revolutionized the way we create visual con

Khi nào nên dùng main, section, article, header, footer, và aside trong HTML5

HTML5 đã giới thiệu các thẻ ngữ nghĩa giúp cấu trúc nội dung web một cách có

So sánh Webhook và API: Khi nào nên sử dụng?

Trong lĩnh vực công nghệ thông tin và phát triển phần mềm, Webhook và API là hai th