Lặp lại trên một tập hợp bằng Python – python lặp đi lặp lại qua thiết lập

Cổng thông tin Khoa học Máy tính dành cho những người yêu thích máy tính. Nó bao gồm các bài báo về khoa học máy tính và lập trình được viết tốt, được tư duy tốt và được giải thích tốt, các câu đố và thực hành / lập trình cạnh tranh / các câu hỏi phỏng vấn công ty.

Bạn đang xem : python lặp lại qua bộ

Trong Python, Set là một tập hợp kiểu dữ liệu không có thứ tự, có thể lặp lại, có thể thay đổi và không có phần tử trùng lặp.
Có nhiều cách có thể được sử dụng để lặp qua một Tập hợp. Một số trong những cách này cung cấp thời gian thực thi nhanh hơn so với những cách khác. Một số cách này bao gồm, lặp lại bằng cách sử dụng vòng lặp for / while, phần hiểu, trình vòng lặp và các biến thể của chúng. Hãy xem tất cả các cách khác nhau mà chúng ta có thể lặp qua một tập hợp trong Python.
Phân tích từng phương pháp:
Để giải thích hoạt động của từng cách / kỹ thuật, thời gian trên mỗi tập hợp (ngẫu nhiên tập hợp được tạo) đã được tính toán cho 5 lần để có được ước tính sơ bộ về thời gian mà mọi kỹ thuật cần để lặp lại trên một tập hợp nhất định. random.seed (21) đã được thêm vào mỗi tập lệnh để khắc phục các số ngẫu nhiên được tạo ra mỗi khi chương trình được thực thi. Sử dụng hạt giống hằng số giúp chúng tôi xác định kỹ thuật nào tốt nhất cho một tập hợp cụ thể được tạo ngẫu nhiên cụ thể.
Phương pháp # 1: Lặp lại một tập hợp bằng vòng lặp for đơn giản.

Python3

< / p>

test_set = set ( "geEks" )

cho val trong test_set:

print (val)

 
 

Đầu ra:

< trước> k
S
e
g
E

Phân tích:

Python3

từ timeit nhập default_timer làm bộ đếm thời gian

< code class = "keyword"> nhập itertools

nhập < / code> ngẫu nhiên

def test_func (test_set):

cho val trong test_set:

< / code> _ = val

if __ name__ = = '__ main__' :

random.seed ( 21 )

cho _ trong range ( 5 ):

test_set = set () < / code>

cho el trong range ( int ( 1e6 )):

el = random.random ()

test_set.add (el)

start = timer ()

< code class = "trơn"> test_func (test_set)

end = timer ()

< / p>

print (< / code> str (end - bắt đầu))

 
 

Đầu ra:

 0.06303901899809716
0,06756918999963091
0,06692574200133095
0,067220498000097
0,06748137499744189 

Phương pháp số 2: Lặp lại một tập hợp bằng vòng lặp for được liệt kê.

Python3 < / h2>

< br />

test_set = set ( "geEks" )

cho id , val trong liệt kê (test_set):

print ( id , val)

 
 

Đầu ra:

 0 E
1 e
2 k
3 g
4 s 

Phân tích:

Python3

từ timeit nhập default_timer làm bộ đếm thời gian

nhập itertools

nhập ngẫu nhiên

def test_func (test_set):

< p class = "line number9 index8 alt2"> cho id , val trong liệt kê (test_set):

_ = val

if __ name__ = = '__ main__' :

random.seed ( 21 )

cho _ trong phạm vi ( 5 ):

test_set = set ()

cho el trong range ( int ( 1e6 )):

el = ngẫu nhiên. random ()

test_set.add (el) < / code>

bắt đầu = timer ()

test_func (test_set)

end = timer ()

< p class = "line number28 index27 alt1"> print ( < code class = "functions"> str (end - start))

 
  

Đầu ra :

 0,1306622320007591
0,13657568199778325
0,13797824799985392
0,1386374360008631
0,1424286179972114 

Phương pháp # 3: Lặp lại một tập hợp dưới dạng danh sách được lập chỉ mục.

Python3

< br />

test_set = set (< / code> "geEks" ) ​​

test_list = list (test_set)

< p class = "line number7 index6 alt2"> cho id trong < code class = "functions"> range ( len (test_list)):

print (test_list [ id ])

 
 

Đầu ra:

 g
k
E
S
e 

Phân tích:

Python3

từ timeit nhập default_timer làm bộ đếm thời gian

nhập itertools

nhập ngẫu nhiên

def test_func (test_set):

test_list = danh sách (test_set)

cho id trong range ( len (test_list)):

_ = test_list [ id ]

if __ name__ = = ' __main__ ' :

< code class = "undefined space"> random.seed ( 21 )

cho _ trong range ( 5 ):

test_set = set ()

cho el trong range ( int ( 1e6 )):

el = random.random ()

< / code> test_set.add (el)

bắt đầu = timer ()

test_func (test_set)

< p class = "line number29 index28 alt2">

print ( str (end - start))

 < / pre> 
 

Đầu ra :

 0,20036015100049553
0,2557020290005312
0,4601482660000329
0,2161413249996258
0,18769703499856405 

Phương pháp # 4: Lặp lại trên một tập hợp bằng cách sử dụng hàm tạo / khởi tạo danh sách và hiểu.

Python3

test_set < code class = "keyword"> = set ( "geEks" < / code> )

com = danh sách (val cho val trong test_set)

print ( * com)

 
 

Đầu ra:

 k s e g E 

Phân tích:
>

Python3

từ timeit nhập default_timer làm bộ đếm thời gian

nhập itertools

nhập ngẫu nhiên < / p>

def test_func (test_set):

list (val cho val trong test_set)

nếu __ name__ = = '__ main__' :

random.seed ( < code class = "value"> 21 )

< / code> cho _ trong phạm vi ( 5 ):

< p class = "line number16 index15 alt1"> test_set = < code class = "functions"> set ()

cho el trong range ( int ( 1e6 )):

el = random.random ()

test_set .add (el)

bắt đầu = timer ()

test_func (test_set)

end = timer ()

print ( str (end - start))

 
 

Đầu ra :

 0,1662169310002355
0,1783527520019561
0,21661155100082397
0,19131610199838178
0,19931397800246486 

Phương pháp số 5: Lặp lại một tập hợp bằng cách sử dụng tính năng hiểu.

Python3

< br />

test_set = set ( "geEks" )

com = [ print < / code> (val) cho từ khóa val trong test_set]

 
 

Đầu ra:

 e
E
g
S
k 

Phân tích:

Python3

từ timeit nhập default_timer làm bộ đếm thời gian

nhập itertools

nhập ngẫu nhiên

< code class = "keyword"> def test_func (test_set):

[val cho val trong test_set]

if __ name__ < code class = "keyword"> = = '__ main__' : < / code>

random.seed ( 21 )

cho _ trong range ( 5 ):

test_set = set () < / code>

cho el trong range ( int ( 1e6 )):

el = random.random ()

test_set.add (el)

< p class = "line number23 index22 alt2"> start = < code class = "trơn"> timer ()

test_func (test_set)

end < code class = "keyword"> = timer ()

print ( str (end - start))

 
 

Đầu ra :
< / p>

 0,11386321299869451
0,111869686999853
0,1092844699996931
0,11223735699968529
0,10928539399901638 

Phương pháp số 6: Lặp lại một tập hợp bằng cách sử dụng bản đồ, lambda và hiểu danh sách

Python3


từ timeit nhập default_timer dưới dạng bộ đếm thời gian

nhập itertools

nhập ngẫu nhiên

def test_func (test_set):

[ map ( lambda val: val, test_set)]

< p class = "line number12 index11 alt1"> if __ name__ = < code class = "keyword"> = '__ main__' :

random.seed ( < code class = "value"> 21 )

< / code> cho _ trong range ( 5 ):

test_set = set ()

cho el trong range ( int ( 1e6 )):

el = random.random ()

test_set.add (el)

start = timer ()

test_func (test_set)

end = timer ()

print ( str < code class = "trơn"> (end - start))

 
 

Output :

 1.0756000847322866e -05
1.310199877480045e-05
1.269100175704807e-05
1.1588999768719077e-05
1.2522999895736575e-05 

Phương pháp # 7: Lặp lại trên một tập hợp bằng trình lặp.

Python3

< br />

từ timeit nhập default_timer dưới dạng hẹn giờ

nhập itertools

nhập ngẫu nhiên

def test_func (test_set):

cho val trong iter (test_set):

_ = val

nếu __ name__ = = '__ main__' :

random.seed ( 21 )

cho _ trong range ( 5 ):

test_set = set ()

cho el trong range ( int ( 1e6 )):

el = random.random ()

test_set.add (el)

< code class = "undefined space"> start = timer () < / code>

test_func (test_set)

end = timer ()

print < code class = "trơn"> ( str (end - start))

  
 

Đầu ra :

 0,0676155920009478
0,07111633900058223
0,06994135700006154
0,0732101009998587
0,08668379899972933 

Phương pháp # 8: Lặp lại một tập hợp bằng trình lặp và vòng lặp while.

Python3

test_set = set ( "geEks" )

iter_gen = iter (test_set)

trong khi True :

thử :

in ( next (iter_gen))

ngoại trừ StopIteration:

break

 
 

Đầu ra:

 E
S
e
k
g 

Phân tích:

Python3

từ timeit nhập default_timer làm bộ đếm thời gian

nhập itertools

nhập ngẫu nhiên

< code class = "keyword"> def test_func (test_set):

iter_gen = iter (test_set)

while True :

thử :

tiếp theo (iter_gen)

ngoại trừ StopIte khẩu phần:

< code class = "undefined space"> break

if __ name__ = = '__ main__' :

random.seed ( 21 )

cho _ trong range ( 5 ):

test_set = đặt ()

< code class = "undefined space">

cho < / code> el trong range ( int ( 1e6 )):

el = random.random ()

test_set.add (el)

bắt đầu = timer ()

test_func (test_set)

end = timer () < / p>

in ( str (end - start))

 
 

Đầu ra:

 0,2136418699992646
0,1952157889973023
0,4234208280031453
0,255840524998348
0,24712910099697183 

Kết luận:
Trong số tất cả các kỹ thuật lặp, lặp vòng lặp for đơn giản và lặp qua trình lặp hoạt động tốt nhất, trong khi so sánh tất cả các kỹ thuật, sử dụng bản đồ với lambda over set hoặc trình lặp của tập hợp hoạt động tốt nhất cho hiệu suất của một triệu lần lặp tập hợp dưới 10 mili giây. Điều khá đáng chú ý là các ví dụ trên chỉ có quyền truy cập đơn lẻ vào các thành phần tập hợp mỗi lần lặp, trong khi nếu chúng ta tăng số lần một thành phần tập hợp được truy cập trên mỗi lần lặp, nó có thể thay đổi thời gian thực hiện mỗi lần lặp.
Lưu ý : Các giá trị được đề cập ở trên trong đầu ra ví dụ bị ràng buộc thay đổi. Lý do đằng sau sự thay đổi của mức tiêu thụ thời gian là sự phụ thuộc của máy vào khả năng xử lý của bộ xử lý hệ thống của cá nhân.

Ghi chú cá nhân của tôi


Xem thêm những thông tin liên quan đến chủ đề python lặp đi lặp lại qua thiết lập

Vòng lặp For, while trong Python | Python Cơ bản Bài 6

  • Tác giả: CODE LÝ CODE HÀNH
  • Ngày đăng: 2020-10-01
  • Đánh giá: 4 ⭐ ( 3671 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: -- Tài liệu về Python đây nha:
    https://drive.google.com/drive/folders/1ICFoVTHdkocZjZ590Gf9bVchy6tFIhd7?usp=sharing

    Nếu muốn học lập trình thì nhanh tay chọn ngay khóa học ⬇⬇⬇⬇⬇
    ( Tất cả khóa học giảm giá 40% Nhanh Tay nào )

    - Lập trình Java căn bản từ con số 0 cho người mới bắt đầu : https://bit.ly/3BWh67Q
    - Lập trình Android toàn tập : https://bit.ly/301nPQx
    - Học python căn bản thông qua lập trình 1 game : https://bit.ly/3H2hkOO
    - Lập trình game 3D với Unity : https://bit.ly/3bUJOeF
    - Lập Trình Python Từ Zero - Hero : https://bit.ly/3bO73r5
    - AI - Trí tuệ nhân tạo cho mọi người : https://bit.ly/3bStScV
    - Chế tạo robot điều khiển bằng giọng nói : https://bit.ly/2Ypsxr0

    Videos của mình thế nào mọi người nhớ nhận xét nha ???

    Đừng quên nhấn nút SUBSCRIBE (Đăng Ký) và đánh CHUÔNG để nhận được những videos mới nhất và sớm nhất nha.

    Cảm ơn mọi người đã ủng hộ mình ! 😀😁😎

    Mạng Xã Hội của mình:

    --== Blog ==-- : https://vloglaptrinh.blogspot.com/
    -- group CODE LÝ CODE HÀNH: https://bit.ly/3hsFuaR
    -- Fanpage: https://bit.ly/3klk25b

    CODELÝCODEHÀNH

    Python

    LậpTrìnhPython

Tự động hóa công việc trong Excel bằng Python

  • Tác giả: unitrain.edu.vn
  • Đánh giá: 4 ⭐ ( 7578 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Bài 14: Vòng lặp trong Python

  • Tác giả: vncoder.vn
  • Đánh giá: 5 ⭐ ( 1626 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vòng lặp (tiếng anh là loop) là một thuật ngữ dùng để diễn tả một hành động hay một cụm hành động được lặp đi lặp lại nhiều lần.

PYTHON EXCEL CHO NGƯỜI MỚI BẮT ĐẦU

  • Tác giả: www.pythonexcel.online
  • Đánh giá: 4 ⭐ ( 4129 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Python Excel

Vòng lặp trong Python

  • Tác giả: vietjack.com
  • Đánh giá: 4 ⭐ ( 3687 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Vòng lặp trong Python - Học Python cơ bản và nâng cao theo các bước đơn giản từ Tổng quan, Cài đặt, Biến, Toán tử, Cú pháp cơ bản, Hướng đối tượng, Vòng lặp, Chuỗi, Number, List, Dictionary, Tuple, Module, Xử lý ngoại lệ, Tool, Exception Handling, Socket, GUI, Multithread, Lập trình mạng, Xử lý XML.

Các cấu trúc lặp trong Python: for và while

  • Tác giả: tuhocict.com
  • Đánh giá: 4 ⭐ ( 4894 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Bài học này xem xét cách sử dụng vòng lặp trong Python, bao gồm vòng lặp for và vòng lặp while, và cách điều khiển vòng lặp với break và continue.

Vòng lặp trong Python

  • Tác giả: toidicode.com
  • Đánh giá: 4 ⭐ ( 6865 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Phần trước, chúng ta đã được tìm hiểu về câu lệnh rẽ nhánh trong python rồi và các bạn cũng thấy nó khá đơn giản đúng không? Phần này chúng ta cũng sẽ tìm hiểu về một thứ không thể thiếu trong các ngôn ngữ lập trình đó là vòng lặp. Vòng lặp (tiếng anh là loop) là một thuật ngữ dùng để diễn tả một hành động hay một cụm hành động được lặp đi lặp lại nhiều lần.

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Hướng dẫn sử dụng máy quét Java và ví dụ về mã - cách thêm máy quét trong java