Làm cách nào để chuyển đổi danh sách 2d trong python?
Danh sách là một tập hợp được sắp xếp theo thứ tự và có thể thay đổi. Trong danh sách Python được viết bằng dấu ngoặc vuông. Bạn truy cập các mục danh sách bằng cách tham khảo số chỉ mục. Lập chỉ mục phủ định có nghĩa là bắt đầu từ cuối, -1 tham chiếu đến mục cuối cùng. Bạn có thể chỉ định một phạm vi chỉ mục bằng cách chỉ định nơi bắt đầu và nơi kết thúc phạm vi. Khi chỉ định một phạm vi, giá trị trả về sẽ là một danh sách mới với các mục được chỉ định Show
Thí dụBản thử trực tiếp # using chain.from_iterables # import chain from itertools import chain ini_list = [[1, 2, 3], [3, 6, 7], [7, 5, 4]] # printing initial list print ("initial list ", str(ini_list)) # converting 2d list into 1d # using chain.from_iterables flatten_list = list(chain.from_iterable(ini_list)) # printing flatten_list print ("final_result", str(flatten_list)) # using list comprehension # import chain from itertools import chain ini_list = [[1, 2, 3], [3, 6, 7], [7, 5, 4]] # printing initial list print ("initial list ", str(ini_list)) # converting 2d list into 1d # using list comprehension flatten_list = [j for sub in ini_list for j in sub] # printing flatten_list print ("final_result", str(flatten_list)) # using functools.reduce # import functools from functools import reduce ini_list = [[1, 2, 3], [3, 6, 7], [7, 5, 4]] # printing initial list print ("initial list ", str(ini_list)) # converting 2d list into 1d # using functools.reduce flatten_list = reduce(lambda z, y :z + y, ini_list) # printing flatten_list print ("final_result", str(flatten_list)) # using sum ini_list = [[1, 2, 3], [3, 6, 7], [7, 5, 4]] # printing initial list print ("initial list ", str(ini_list)) # converting 2d list into 1d flatten_list = sum(ini_list, []) # printing flatten_list print ("final_result", str(flatten_list)) ini_list=[[1, 2, 3], [3, 6, 7], [7, 5, 4]] #Using lambda flatten_list = lambda y:[x for a in y for x in flatten_list(a)] if type(y) is list else [y] print("Initial list ",ini_list) #priniting initial list print("Flattened List ",flatten_list(ini_list)) # printing flattened list đầu ra('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('Initial list ', [[1, 2, 3], [3, 6, 7], [7, 5, 4]]) ('Flattened List ', [1, 2, 3, 3, 6, 7, 7, 5, 4]) Một mảng hai chiều có thể được biểu diễn bằng một danh sách các danh sách bằng cách sử dụng loại 6 tích hợp sẵn của PythonSau đây là một số cách hoán đổi hàng và cột của danh sách hai chiều này
Việc sử dụng NumPy và pandas sẽ dễ dàng hơn, nhưng nếu bạn không muốn nhập NumPy hoặc pandas chỉ để chuyển vị, bạn có thể sử dụng hàm 1Danh sách hai chiều ban đầu được định nghĩa như sau
nguồn. Liên kết được tài trợ Chuyển đổi thành numpy. ndarray và hoán vị với TTạo một mảng NumPy 3 từ danh sách 2D ban đầu và lấy đối tượng được chuyển đổi với thuộc tính 8Nếu bạn muốn một đối tượng kiểu 6, hãy chuyển đổi nó thành 6 bằng phương thức 7
nguồn. Ngoài thuộc tính 8, bạn cũng có thể sử dụng phương thức 9 của 3 và hàm ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('Initial list ', [[1, 2, 3], [3, 6, 7], [7, 5, 4]]) ('Flattened List ', [1, 2, 3, 3, 6, 7, 7, 5, 4])01. Chi tiết như xử lý mảng nhiều chiều hơn 3 chiều mời các bạn tham khảo bài viết sau
Chuyển đổi thành gấu trúc. DataFrame và chuyển đổi với TTạo 9 từ danh sách 2D ban đầu và lấy đối tượng được chuyển đổi với thuộc tính 8Nếu bạn muốn một đối tượng kiểu 6, hãy lấy 7 bằng thuộc tính ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('Initial list ', [[1, 2, 3], [3, 6, 7], [7, 5, 4]]) ('Flattened List ', [1, 2, 3, 3, 6, 7, 7, 5, 4])06 và chuyển nó thành 6 bằng phương thức 7
('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('initial list ', '[[1, 2, 3], [3, 6, 7], [7, 5, 4]]') ('final_result', '[1, 2, 3, 3, 6, 7, 7, 5, 4]') ('Initial list ', [[1, 2, 3], [3, 6, 7], [7, 5, 4]]) ('Flattened List ', [1, 2, 3, 3, 6, 7, 7, 5, 4])0 nguồn. Liên kết được tài trợ Chuyển đổi với chức năng tích hợp sẵn arr_t = np.array(l_2d).T
print(arr_t)
print(type(arr_t))
# [[0 3]
# [1 4]
# [2 5]]
# |