Hướng dẫn how do you add multiple sets in python? - làm thế nào để bạn thêm nhiều bộ trong python?

>>> big = [[1, '34', '44'], [1, '40', '30', '41'], [1, '41', '40', '42'], [1, '42', '41', '43'], [1, '43', '42', '44'], [1, '44', '34', '43']]
>>> set(reduce ( lambda l,a : l + a, big))
set([1, '44', '30', '42', '43', '40', '41', '34'])

Và nếu bạn thực sự muốn một danh sách một danh sách là kết quả cuối cùng

>>>>[list(set(reduce ( lambda l,a : l + a, big)))]
[[1, '44', '30', '42', '43', '40', '41', '34']]

Và nếu bạn không thích mã hóa chức năng Lambda để bổ sung danh sách:

>>>>[list(set(reduce ( list.__add__, big)))]
[[1, '44', '30', '42', '43', '40', '41', '34']]

Chỉnh sửa: Sau khi bạn đề xuất về việc sử dụng itertools.chain thay vì danh sách .__ add__ Tôi đã chạy một thời gian cho cả hai với biến ban đầu được sử dụng bởi poster gốc. : after your recommendation about using itertools.chain instead of list.__add__ I ran a timeit for both with the original variable used by the original poster.

Có vẻ như danh sách thời gian thời gian .__ Thêm khoảng 2,8s và itertools.chain khoảng 3,5 giây.

Tôi đã kiểm tra trên trang này và vâng, bạn đã đúng với itertools.chain chứa một phương thức từ_iterable cung cấp một sự tăng cường hiệu suất rất lớn. Xem bên dưới với Danh sách.

>>> timeit.timeit("[list(set(reduce ( list.__add__, big)))]", setup="big = [ [10,20,30,40] for ele in range(10000)]", number=30)
16.051744650801993
>>> timeit.timeit("[list(set(reduce ( itertools.chain, big)))]", setup="big = [ [10,20,30,40] for ele in range(10000)]", number=30)
54.721315866467194
>>> timeit.timeit("list(set(itertools.chain.from_iterable(big)))", setup="big = [ [10,20,30,40] for ele in range(10000)]", number=30)
0.040056066849501804

Cảm ơn bạn rất nhiều vì lời khuyên của bạn :)

Bài đăng này sẽ thảo luận về cách tham gia nhiều bộ trong Python.

Mô -đun itertools cung cấp một số chức năng hữu ích để tạo trình lặp để lặp hiệu quả. Bạn có thể sử dụng chức năng chain() của nó để kết hợp hai hoặc nhiều bộ cùng nhau, như được hiển thị bên dưới:

Nhập khẩuitertools

if__name__=='__main__':__name__=='__main__':

    x={1,3}x={1,3}

    y={5}y ={5}

    z={7,9}z= {7,9}

    s=set(itertools.chain(x,y,z))s= set(itertools.chain(x,y, z))

& nbsp; & nbsp; & nbsp; & nbsp;print(s)      # {1, 3, 5, 7, 9}

Tải xuống & nbsp; & nbsp; mã

2. Sử dụng toán tử giải nén có thể lặp lại

Với Python 3.5, bạn có thể sử dụng toán tử giải nén * để tham gia nhiều bộ. Đây là những gì mã sẽ trông như thế nào:

if__name__=='__main__':__name__=='__main__':

    x={1,3}x ={1,3}

    y={5}y ={5}

    z={7,9}z= {7,9}

    s={*x,*y,*z}s= {*x,*y,*z}

& nbsp; & nbsp; & nbsp; & nbsp;print(s)      # {1, 3, 5, 7, 9}

Tải xuống & nbsp; & nbsp; mã

2. Sử dụng toán tử giải nén có thể lặp lại

Với Python 3.5, bạn có thể sử dụng toán tử giải nén * để tham gia nhiều bộ. Đây là những gì mã sẽ trông như thế nào:

if__name__=='__main__':__name__=='__main__':

    x={1,3}x ={1,3}

    y={5}y ={5}

    z={7,9}z= {7,9}

    s=set().union(x).union(y).union(z)s= set().union(x).union(y).union(z)

& nbsp; & nbsp; & nbsp; & nbsp;print(s)      # {1, 3, 5, 7, 9}

Tải xuống & nbsp; & nbsp; mã

Đó là tất cả về việc tham gia nhiều bộ trong Python.

Cảm ơn vì đã đọc.

Vui lòng sử dụng trình biên dịch trực tuyến của chúng tôi để đăng mã trong các nhận xét bằng C, C ++, Java, Python, JavaScript, C#, PHP và nhiều ngôn ngữ lập trình phổ biến hơn.

Như chúng tôi? Giới thiệu chúng tôi với bạn bè của bạn và giúp chúng tôi phát triển. Mã hóa hạnh phúc :) :)


Bạn có thể thêm 2 bộ trong Python không?

Các bộ có thể được tham gia trong Python theo một số cách khác nhau.Chẳng hạn, Update () thêm tất cả các yếu tố của một bộ khác.Tương tự, Union () kết hợp tất cả các yếu tố của hai bộ và trả lại chúng trong một bộ mới.Cả hai hoạt động của Union () và Update () đều loại trừ các yếu tố trùng lặp.union() combines all the elements of the two sets and returns them in a new set. Both union() and update() operations exclude duplicate elements.

Làm thế nào để bạn thêm các bộ khác nhau trong Python?

Python - Thêm các mục đặt..
Thêm các mục.Khi một tập hợp được tạo, bạn không thể thay đổi các mục của nó, nhưng bạn có thể thêm các mục mới.....
Thêm bộ.Để thêm các mục từ một tập khác vào tập hiện tại, hãy sử dụng phương thức Update ().....
Thêm bất kỳ điều đó có thể xảy ra ..

Làm cách nào để thêm nhiều phần tử vào một bộ trong Python?

Để thêm một mục vào một bộ, sử dụng phương thức Thêm ().Để thêm nhiều mục vào một thiết lập, hãy sử dụng phương thức Update ().use the update() method.