zip은 여러 iterable한 객체를 하나로 묶어 tuple의 리스트를 생성
*는 iterable한 list, tuple 의 요소를 개별 인수로 풀어서 전달
**는 dictionary의 key:value를 개별 인수로 풀어서 전달
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
countries = ['USA', 'UK', 'Canada']
zipped_data = list(zip(names, ages, countries))
print(zipped_data)
for name, age, country in zip(names, ages, countries):
print(f'{name} is {age} years old and lives in {country}.')
list1 = [1, 2, 3]
list2 = ['a', 'b']
zipped_short = list(zip(list1, list2))
print(zipped_short)
zipped = zip(names, ages)
names_unpacked, ages_unpacked = zip(*zipped)
print(names_unpacked)
print(ages_unpacked)
keys = ['name', 'age', 'country']
values = ['Alice', 25, 'USA']
person_dict = dict(zip(keys, values))
print(person_dict)
single_list = ['apple', 'banana', 'cherry']
zipped_single = list(zip(single_list))
print(zipped_single)
for index, (name, age) in enumerate(zip(names, ages)):
print(f'Index {index}: {name}, {age}')
numbers = [1, 2, 3, 4, 5]
first, *middle, last = numbers
print(first)
print(middle)
print(last)
def add_numbers(a, b, c):
return a + b + c
num_list = [1, 2, 3]
result = add_numbers(*num_list)
print(result)
def show_info(name, age, country):
print(f'Name: {name}, Age: {age}, Country: {country}')
person_info = {'name': 'Alice', 'age': 25, 'country': 'USA'}
show_info(**person_info)
def print_info(*args, **kwargs):
print("Positional arguments:", args)
print("Keyword arguments:", kwargs)
print_info(1, 2, 3, name='Bob', age=30)
list_a = [1, 2, 3]
list_b = [4, 5, 6]
combined_list = [*list_a, *list_b]
print(combined_list)
dict_a = {'a': 1, 'b': 2}
dict_b = {'c': 3, 'd': 4}
merged_dict = {**dict_a, **dict_b}
print(merged_dict)
my_dict = {'a': 1, 'b': 2, 'c': 3}
keys_list = [*my_dict]
print(keys_list)
class Solution:
def topKFrequent(self, nums: List[int], k: int) -> List[int]:
count = collections.Counter(nums)
return list(zip(*count.most_common(k)))[0]