Hướng dẫn mapping two lists in python - ánh xạ hai danh sách trong python

Trong bài đăng này, bạn sẽ tìm hiểu các cách khác nhau để viết chương trình Python để ánh xạ hai danh sách thành một từ điển.Python program to map two lists into a dictionary.

Một danh sách là một bộ sưu tập các yếu tố sắp xếp. Nó được sử dụng để lưu trữ bộ sưu tập dữ liệu. Nó có thể chứa một danh sách các loại đối tượng dữ liệu khác nhau với dấu phẩy được phân tách và đặt trong một khung vuông. Nó là có thể thay đổi, có nghĩa là chúng ta có thể thay đổi thứ tự của các yếu tố. Các yếu tố riêng lẻ có thể được thay thế ngay cả sau khi danh sách đã được tạo ra. Đây là một trong những lý do hàng đầu tại sao các danh sách đang được sử dụng rộng rãi. Danh sách đóng một vai trò hiệu quả trong các dự án nhỏ khi họ tiêu thụ nhiều bộ nhớ hơn.list is an arranged collection of elements. It is used to store collections of data. It can contain a list of various types of data objects with a comma separated and enclosed within a square bracket. It is mutable, which means we can change the order of elements. Individual elements can be replaced even after the list has been created. This is one of the leading reasons why lists are being widely used. Lists play an effective role in small projects as they consume more memory.

Từ điển là một bộ sưu tập các giá trị dữ liệu được đặt hàng, có giá trị có thể truy cập bằng khóa. Từ điển là một ánh xạ của các khóa và giá trị. Dict () là một hàm tạo được sử dụng để tạo ra các trường hợp của Lớp Dict. Thứ tự của các yếu tố trong một từ điển là không xác định. Chúng ta có thể lặp lại các khóa, giá trị hoặc các cặp giá trị khóa. Ở đây, chúng tôi đã đề cập đến các cách khác nhau để ánh xạ hai danh sách thành một từ điển. is an ordered collection of data values, whose values are accessible by key. The dictionary is a mapping of keys and values. The dict() is a constructor which is used to create instances of the class dict. The order of elements in a dictionary is undefined. We can iterate over keys, values, or key-value pairs. Here, we have mentioned different ways to map two lists into a dictionary.

Ánh xạ hai danh sách thành một từ điển bằng hàm zip ()

Hàm zip () của Python tạo ra một trình lặp tập hợp các phần tử từ ít nhất hai danh sách. Để ánh xạ hai danh sách lại với nhau, chúng ta có thể sử dụng hàm python zip (). Chức năng này cho phép chúng tôi kết hợp hai danh sách với nhau. Chúng ta có thể sử dụng một danh sách làm khóa cho từ điển và dữ liệu còn lại là các giá trị.zip() function of Python creates an iterator that aggregates elements from at least two lists. To map two lists together, we can use the Python zip() function. This function allows us to combine two lists together. We can use one list as the keys for the dictionary and the other as the values.

Trong ví dụ đã cho, chúng tôi có hai danh sách, một danh sách chứa một danh sách các sinh viên và cái còn lại chứa dấu hiệu của họ. Yêu cầu là tạo ra một từ điển duy nhất lưu trữ tên của một học sinh cùng với nhãn hiệu của họ. Chúng ta có thể sử dụng giải pháp đã cho để thực hiện nhiệm vụ này:

students = ['Smith', 'John', 'Priska', 'Abhi']
marks = [89, 53, 92, 86]

students_dict = dict(zip(students, marks))
print(students_dict)

Đầu ra của mã trên:

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}

Nếu danh sách khác nhau về kích thước, phương pháp này sẽ cắt ngắn danh sách dài hơn. Nếu các khóa không phải là duy nhất, phương pháp này sẽ chọn giá trị cuối cùng để ánh xạ.

Ánh xạ hai danh sách thành một từ điển bằng cách hiểu từ điển

Từ điển Hiểu là một cách để tạo ra một từ điển trong Python. Nó tạo ra một từ điển bằng cách kết hợp hai bộ dữ liệu ở dạng danh sách hoặc mảng. Đó là một cách tiếp cận thanh lịch và súc tích để tạo ra từ điển. Từ điển Hiểu biết sử dụng dấu ngoặc nhọn ({}) is one way to create a dictionary in Python. It creates a dictionary by combining two sets of data which are in the form of either lists or arrays. It is an elegant and concise approach to create dictionaries. Dictionary comprehension uses pointed brackets ({})

Trong mã đã cho, chúng tôi đã sử dụng khả năng hiểu từ điển để ánh xạ hai danh sách vào từ điển:

items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)

Đầu ra của mã trên:

{'pen': 5, 'paper': 20, 'pencil': 15}

Nếu danh sách khác nhau về kích thước, phương pháp này sẽ cắt ngắn danh sách dài hơn. Nếu các khóa không phải là duy nhất, phương pháp này sẽ chọn giá trị cuối cùng để ánh xạ.

Ánh xạ hai danh sách thành một từ điển bằng cách hiểu từ điển

fruits = ['mango', 'pear', 'apple','papaya']
price = [90, 78, 110, 60]

fruits_price = zip(fruits, price)

# create dictionary
fruits_dict = {}

for key, value in fruits_price:
    if key in fruits_dict:
        # handling duplicate keys
        pass 
    else:
        fruits_dict[key] = value
        
print(fruits_dict)

Đầu ra của mã trên:

{'mango': 90, 'pear': 78, 'apple': 110, 'papaya': 60}

Nếu danh sách khác nhau về kích thước, phương pháp này sẽ cắt ngắn danh sách dài hơn. Nếu các khóa không phải là duy nhất, phương pháp này sẽ chọn giá trị cuối cùng để ánh xạ.

Ánh xạ hai danh sách thành một từ điển bằng cách hiểu từ điển

students = ['Smith', 'John', 'Priska', 'Abhi']
marks = [93, 89, 91, 88]

# Given lists
print("List of Students : ", students)
print("list of Marks : ", marks)

# Convert to dictionary
res = {students[i]: marks[i] for i in range(len(students))}
print("Dictionary from lists :\n ",res)

Đầu ra của mã trên:

List of Students :  ['Smith', 'John', 'Priska', 'Abhi']
list of Marks :  [93, 89, 91, 88]
Dictionary from lists :
 {'Smith': 93, 'John': 89, 'Priska': 91, 'Abhi': 88}

Nếu danh sách khác nhau về kích thước, phương pháp này sẽ cắt ngắn danh sách dài hơn. Nếu các khóa không phải là duy nhất, phương pháp này sẽ chọn giá trị cuối cùng để ánh xạ.

Ettananyettanany

18.2k6 Huy hiệu vàng42 Huy hiệu bạc61 Huy hiệu Đồng

Làm thế nào tôi có thể ghép hai danh sách đó để có được đầu ra này, sử dụng

items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
0 và
items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
1?

one apple
two cherry
three watermelon

Tôi biết làm thế nào để làm điều đó bằng cách hiểu danh sách,

[print(listA[i], listB[i]) for i in range(len(listA))]

Nhưng tôi không thể tìm ra giải pháp

items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
0 và
items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
1. Bất kỳ ý tưởng?

Hướng dẫn mapping two lists in python - ánh xạ hai danh sách trong python

Cắt tỉa

76K14 Huy hiệu vàng57 Huy hiệu bạc76 Huy hiệu đồng14 gold badges57 silver badges76 bronze badges

Đã hỏi ngày 29 tháng 6 năm 2017 lúc 16:59Jun 29, 2017 at 16:59

5

Đây là những gì tôi có dựa trên những gì bạn cần (bản đồ và lambda),

Input:

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
0

Đầu ra:

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
1

Đã trả lời ngày 29 tháng 6 năm 2017 lúc 17:07Jun 29, 2017 at 17:07

Hướng dẫn mapping two lists in python - ánh xạ hai danh sách trong python

Mr_U4913Mr_U4913Mr_U4913

1.2266 huy hiệu bạc12 huy hiệu đồng6 silver badges12 bronze badges

Giải pháp dễ nhất là chỉ cần sử dụng

items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
4 như trong:

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
2

Tôi đoán có thể sử dụng

items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
0 và lambdas, nhưng điều đó sẽ không cần thiết phải làm phức tạp mọi thứ vì đây thực sự là trường hợp lý tưởng cho
items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
4.

Đã trả lời ngày 29 tháng 6 năm 2017 lúc 17:04Jun 29, 2017 at 17:04

Hướng dẫn mapping two lists in python - ánh xạ hai danh sách trong python

Daniel Jonsondaniel JonssonDaniel Jonsson

2.7725 huy hiệu vàng41 Huy hiệu bạc65 Huy hiệu đồng5 gold badges41 silver badges65 bronze badges

Sử dụng danh sách hiểu và zip:

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
3

Output:

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
1

Đã trả lời ngày 29 tháng 6 năm 2017 lúc 17:06Jun 29, 2017 at 17:06

Hướng dẫn mapping two lists in python - ánh xạ hai danh sách trong python

Ajax1234Ajax1234Ajax1234

67.8K7 Huy hiệu vàng58 Huy hiệu bạc101 Huy hiệu đồng7 gold badges58 silver badges101 bronze badges

Hãy xem xét có hai danh sách như List1, List2. Chúng ta có thể ghép chúng trong danh sách hoặc loại tuple.

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
5

Output:

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
6

Đã trả lời ngày 27 tháng 3 năm 2021 lúc 18:01Mar 27, 2021 at 18:01

Hướng dẫn mapping two lists in python - ánh xạ hai danh sách trong python

Bạn có thể sử dụng

items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
4 như bên dưới:

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
7

Đã trả lời ngày 29 tháng 6 năm 2017 lúc 17:04Jun 29, 2017 at 17:04

Daniel Jonsondaniel Jonssonettanany

2.7725 huy hiệu vàng41 Huy hiệu bạc65 Huy hiệu đồng6 gold badges42 silver badges61 bronze badges

cụ thể sử dụng MAP và Lambda như đã hỏi ...

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
8

mặc dù tôi có thể phá vỡ điều đó để làm cho nó dễ đọc hơn

{'Smith': 89, 'John': 53, 'Priska': 92, 'Abhi': 86}
9

Đã chỉnh sửa - mỗi bình luận bên dưới,

items = ['pen', 'paper', 'pencil']
quantities = [5, 20, 15]
items_dict = {key:value for key, value in zip(items, quantities)}

print(items_dict)
8 là một sự lãng phí

Đã trả lời ngày 29 tháng 6 năm 2017 lúc 17:12Jun 29, 2017 at 17:12

KMHKMHkmh

1.33614 Huy hiệu bạc33 Huy hiệu đồng14 silver badges33 bronze badges

1