Hướng dẫn subtract list of tuples python - trừ danh sách các tuples python

Nếu bạn bắt đầu với

[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
0 và
[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
1 là một danh sách các bộ dữ liệu, thì thật dễ dàng để chuyển đổi chúng thành các mảng 2D Numpy:

import numpy as np

x = np.array([(1,2,3), (4,5,6), (7,8,9)])
y = np.array([(10,20,30), (40,50,60), (70,80,90)])

Sau đó để tạo một mảng tương tự như

[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]

Bạn có thể làm điều này:

z = x[:]           # make a copy of array x
z[:,2] -= y[:,2]   # subtract the 3rd column of y from z

print(z)

năng suất

[[  1   2 -27]
 [  4   5 -54]
 [  7   8 -81]]

và để có được

[C1 - C1_, C2 - C2_,...]

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

[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
2 hoặc lấy nó trực tiếp từ ____10 và
[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
1 bằng cách sử dụng
[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
5:

[-27 -54 -81]

Tôi có thể hiểu sai câu hỏi của bạn, nhưng khi bạn nói "Tôi vẫn chưa đào được làm thế nào để chỉ thực hiện một hoạt động trên một yếu tố trong một bộ thuật", nó khiến tôi nghĩ rằng bạn có thể lưu trữ các bộ dữ liệu trong một mảng numpy. Nếu đó là sự thật, thì tôi nên đề nghị bạn xem xét lại cách bạn đang sử dụng Numpy:

Bạn thấy đấy, khi bạn sử dụng

[(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
6 để lưu trữ các đối tượng Python trong một mảng numpy (chẳng hạn như một tuple), thì tất cả các hoạt động được thực hiện trên các đối tượng này cuối cùng liên quan đến các cuộc gọi đến các hàm Python, thay vì các hàm C/Fortran nhanh hơn.

Do đó, trong khi bạn có thể thưởng thức cú pháp Numpy để chọn các mục trong mảng, bạn không đạt được bất kỳ lợi thế tốc độ nào so với các đối tượng Python đơn giản. Trên thực tế, nó có thể chậm hơn so với sử dụng các đối tượng Python đơn giản (chẳng hạn như danh sách các bộ dữ liệu).

Vì lý do này, tôi khuyên bạn nên tránh lưu trữ các đối tượng Python trong các mảng numpy bất cứ khi nào có thể, và đặc biệt là khi các đối tượng đó là số, vì các dtypes số gốc của Numpy phục vụ tốt hơn nhiều.

Thay vì lưu trữ 3 bộ trong một mảng, sẽ tốt hơn nếu thêm một kích thước bổ sung (được gọi là "trục") vào mảng numpy và lưu trữ 3 thành phần dọc theo trục này.

Một khi bạn làm điều đó, tính toán số bạn chiêm ngưỡng là một miếng bánh. Nó có thể được thực hiện với một cái gì đó như:

x[:,2]-y[:,2]

Khoa học dữ liệu thực tế bằng cách sử dụng Python khi cần phải trừ các bộ dữ liệu, phương thức 'bản đồ' và hàm lambda có thể được sử dụng. Hàm bản đồ áp dụng một chức năng/hoạt động nhất định cho mọi mục trong một mục được lặp lại (chẳng hạn như danh sách, tuple). Nó trả về một danh sách là kết quả.

Bạn có thể trừ Tuples Python?

Python không hỗ trợ phép trừ Tuple và - toán hạng. Nhưng bạn có thể thêm bộ dữ liệu bằng toán tử +.

  • Bạn có thể trừ một danh sách từ một danh sách trong Python không?
  • Trừ hai danh sách có hai danh sách có cùng độ dài chứa các phần tử của cùng loại và trừ các giá trị ở mỗi chỉ mục trong một chỉ số khác. Ví dụ: [2, 2, 2] - [1, 1, 1] = [1, 1, 1].
  • Khoa học dữ liệu thực tế bằng cách sử dụng Python khi cần phải trừ các bộ dữ liệu, phương thức 'bản đồ' và hàm lambda có thể được sử dụng. Hàm bản đồ áp dụng một chức năng/hoạt động nhất định cho mọi mục trong một mục được lặp lại (chẳng hạn như danh sách, tuple). Nó trả về một danh sách là kết quả.

    Bạn có thể trừ Tuples Python?

    Python không hỗ trợ phép trừ Tuple và - toán hạng. Nhưng bạn có thể thêm bộ dữ liệu bằng toán tử +.

    Bạn có thể trừ một danh sách từ một danh sách trong Python không?

    Phương pháp số 1: Sử dụng bản đồ () + Lambda kết hợp các chức năng trên có thể giải quyết vấn đề cho chúng tôi. Trong đó, chúng tôi tính toán phép trừ bằng các hàm Lambda và mở rộng logic sang các phím bằng bản đồ (). & NBSP; Combination of the above functionalities can solve the problem for us. In this, we compute the subtraction using lambda functions and extend the logic to keys using map(). 

    Python3

    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    7
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    0
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    2221
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    4
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    5

    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    6
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    4
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    3
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    5

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    6
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    8
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    9
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    [C1 - C1_, C2 - C2_,...]
    
    2

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    6
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    9
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    9
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    [-27 -54 -81]
    
    050

    [-27 -54 -81]
    
    1
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    x[:,2]-y[:,2]
    
    2
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    x[:,2]-y[:,2]
    
    4
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    x[:,2]-y[:,2]
    
    7

    Đầu ra: & nbsp;

    The original tuple 1 : (10, 4, 5)
    The original tuple 2 : (2, 5, 18)
    Resultant tuple after subtraction : (8, -1, -13)

    Phương pháp số 2: Sử dụng map () + sub () Sự kết hợp của các hàm trên có thể giúp chúng ta đạt được nhiệm vụ này. Trong đó, trước tiên chúng tôi mở rộng logic cho tất cả bằng cách sử dụng map () và sau đó thực hiện phép trừ từng chỉ mục bằng cách sử dụng sub (). & Nbsp; The combination of above functions can help us achieve this task. In this, we first extend the logic to all using map() and then perform subtraction of each index using sub(). 

    Python3

    x[:,2]-y[:,2]
    
    8
    x[:,2]-y[:,2]
    
    9

    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    7
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    0
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    2221
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    4
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    5

    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    6
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    4
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    3
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    5

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    6
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    8
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    9
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    [C1 - C1_, C2 - C2_,...]
    
    2

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    6
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    9
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    9
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    [-27 -54 -81]
    
    050

    [-27 -54 -81]
    
    1
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    9
    [-27 -54 -81]
    
    5
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    09

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    x[:,2]-y[:,2]
    
    2
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    x[:,2]-y[:,2]
    
    4
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    x[:,2]-y[:,2]
    
    7

    Đầu ra: & nbsp;

    The original tuple 1 : (10, 4, 5)
    The original tuple 2 : (2, 5, 18)
    Resultant tuple after subtraction : (8, -1, -13)

    Phương pháp số 3: Sử dụng cho phương thức Loop và Tuple ()

    Python3

    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    7
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    0
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    2221
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    4
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    5

    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    6
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    9
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    4
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    1
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    3
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    5

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    6
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    8
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    9
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    [C1 - C1_, C2 - C2_,...]
    
    2

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    6
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    z = x[:]           # make a copy of array x
    z[:,2] -= y[:,2]   # subtract the 3rd column of y from z
    
    print(z)
    
    9
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    9
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    [-27 -54 -81]
    
    050

    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    47
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    49

    [-27 -54 -81]
    
    1
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    9
    [-27 -54 -81]
    
    5
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    09

    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    59
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    60
    [-27 -54 -81]
    
    9
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    62

    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    47
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    8
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    [(A1, B1, C1 - C1_), (A2, B2, C2 - C2_),...(AN, BN, CN - CN_)]
    
    66

    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    5
    x[:,2]-y[:,2]
    
    2
    [[  1   2 -27]
     [  4   5 -54]
     [  7   8 -81]]
    
    7
    x[:,2]-y[:,2]
    
    4
    [C1 - C1_, C2 - C2_,...]
    
    0
    [C1 - C1_, C2 - C2_,...]
    
    1
    x[:,2]-y[:,2]
    
    7

    Đầu ra: & nbsp;

    The original tuple 1 : (10, 4, 5)
    The original tuple 2 : (2, 5, 18)
    Resultant tuple after subtraction : (8, -1, -13)


    Làm thế nào để bạn trừ một danh sách các bộ dữ liệu trong Python?

    Khoa học dữ liệu thực tế bằng cách sử dụng Python khi cần phải trừ các bộ dữ liệu, phương thức 'bản đồ' và hàm lambda có thể được sử dụng. Hàm bản đồ áp dụng một chức năng/hoạt động nhất định cho mọi mục trong một mục được lặp lại (chẳng hạn như danh sách, tuple). Nó trả về một danh sách là kết quả.the 'map' method and lambda function can be used. The map function applies a given function/operation to every item in an iterable (such as list, tuple). It returns a list as the result.

    Bạn có thể trừ Tuples Python?

    Python không hỗ trợ phép trừ Tuple và - toán hạng.Nhưng bạn có thể thêm bộ dữ liệu bằng toán tử +.

    Bạn có thể trừ một danh sách từ một danh sách trong Python không?

    Trừ hai danh sách có hai danh sách có cùng độ dài chứa các phần tử của cùng loại và trừ các giá trị ở mỗi chỉ mục trong một chỉ số khác.Ví dụ: [2, 2, 2] - [1, 1, 1] = [1, 1, 1].. For example, [2, 2, 2] - [1, 1, 1] = [1, 1, 1] .

    Làm thế nào để bạn trừ hai danh sách trong Python?

    Sử dụng zip để trừ hai danh sách python..
    Chúng tôi đã khởi tạo một danh sách mới, trống được gọi là trừ mà chúng tôi sẽ sử dụng để giữ các giá trị bị trừ của chúng tôi ..
    Sau đó chúng tôi lặp lại qua hai mục được trả về trong mỗi lần lặp của đầu ra zip () ..
    Chúng tôi gán sự khác biệt giữa hai mục này cho mục và nối nó vào danh sách bị trừ của chúng tôi ..