tl;dr
for first_item in muh_set: break
vẫn là cách tiếp cận tối ưu trong Python 3.x. Nguyền rủa bạn, Guido.
bạn làm điều này
Chào mừng bạn đến với một bộ thời gian Python 3.x khác, được ngoại suy từ phản hồi Python 2.x tuyệt vời của WR. Không giống như phản hồi Python 3.x cụ thể không kém của Achampion, các thời gian dưới đây cũng là giải pháp ngoại lệ được đề xuất ở trên-bao gồm:
list[s][0]
, Giải pháp dựa trên trình tự tiểu thuyết của John.random.sample[s, 1]
, Giải pháp dựa trên RNG của DF.
Mã mã cho niềm vui lớn
Bật, điều chỉnh, thời gian nó:
from timeit import Timer
stats = [
"for i in range[1000]: \n\tfor x in s: \n\t\tbreak",
"for i in range[1000]: next[iter[s]]",
"for i in range[1000]: s.add[s.pop[]]",
"for i in range[1000]: list[s][0]",
"for i in range[1000]: random.sample[s, 1]",
]
for stat in stats:
t = Timer[stat, setup="import random\ns=set[range[100]]"]
try:
print["Time for %s:\t %f"%[stat, t.timeit[number=1000]]]
except:
t.print_exc[]
Thời gian vượt thời gian nhanh chóng bị lỗi thời
Hãy chứng kiến! Được đặt hàng bởi các đoạn trích nhanh nhất đến chậm nhất: Ordered by fastest to slowest snippets:
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
Faceplants cho cả gia đình
Không có gì đáng ngạc nhiên, phép lặp thủ công vẫn nhanh nhất gấp đôi so với giải pháp nhanh nhất tiếp theo. Mặc dù khoảng cách đã giảm từ Python 2.x ngày cũ [trong đó lần lặp hướng dẫn sử dụng nhanh nhất bốn lần], nhưng điều đó làm tôi thất vọng khi tôi giải pháp rõ ràng nhất là tốt nhất. Ít nhất việc chuyển đổi một bộ thành một danh sách chỉ để trích xuất phần tử đầu tiên của bộ là khủng khiếp như mong đợi. Cảm ơn Guido, có thể ánh sáng của anh ấy tiếp tục hướng dẫn chúng tôi.manual iteration remains at least twice as fast as the next fastest solution. Although the gap has decreased from the Bad Old Python 2.x days [in which manual iteration was at least four times as fast], it disappoints the PEP 20 zealot in me that the most verbose solution is the best. At least converting a set into a list just to extract the first element of the set is as horrible as expected. Thank Guido, may his light continue to guide us.
Đáng ngạc nhiên, giải pháp dựa trên RNG là hoàn toàn khủng khiếp. Chuyển đổi danh sách là xấu, nhưng
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
0 thực sự lấy bánh và món ăn tuyệt vời. Quá nhiều cho số ngẫu nhiên của Chúa.RNG-based solution is absolutely horrible. List conversion is bad, but $ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
0 really takes the awful-sauce cake. So much for the Random Number God.Tôi chỉ ước người vô định hình họ sẽ đưa ra một phương pháp
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
1 cho chúng tôi rồi. Nếu bạn đang đọc nó, họ: "Làm ơn. Làm gì đó." Trong bài viết này, chúng tôi sẽ thảo luận về các ví dụ khác nhau về cách lấy một yếu tố từ một python được đặt trong Python.
Các ví dụ để truy xuất các yếu tố từ bộ Python
Lấy tất cả các phần tử từ một tập hợp mà không có giá trị trùng lặp
Bằng cách lặp lại các phần tử trong một bộ sử dụng cho vòng lặp, chúng ta có thể nhận được tất cả các phần tử tập hợp duy nhất.
Python3
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
2$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
3 $ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
4$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
5$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
7$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
9$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha1__16
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha9
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70580
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70581
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70582
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70583
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70584
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70585
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70587
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
{7072, 7074, 7076, 7058, 7059} 7059 70590
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70580
{7072, 7074, 7076, 7058, 7059} 7059 70592
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
3 $ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
4{7072, 7074, 7076, 7058, 7059} 7059 70595
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6{7072, 7074, 7076, 7058, 7059} 7059 70597
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6{7072, 7074, 7076, 7058, 7059} 7059 70599
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6{7072, 7074, 7076, 7058, 7059} 7059 70597
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha6
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70581
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70582
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70583
{7072, 7074, 7076, 7058, 7059} 70726
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70585
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 70587
Output::
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha
Truy cập các thành phần đặt theo chỉ mục
Trong một tập hợp, chúng tôi không thể thực hiện lập chỉ mục, trước tiên, chúng tôi phải chuyển đổi bộ đó thành danh sách và sau đó thực hiện lập chỉ mục. Vì vậy, chúng tôi đang sử dụng hàm python [] để chuyển đổi tập hợp thành danh sách.
Python3
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
2$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
3 $ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
4$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
5$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
7$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
9$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha1
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha3____26
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
for first_item in muh_set: break
4create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
for first_item in muh_set: break
7$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6for first_item in muh_set: break
9list[s][0]
0list[s][0]
1list[s][0]
2create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
list[s][0]
5$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6for first_item in muh_set: break
9list[s][0]
0list[s][0]
9list[s][0]
2Output::
{7072, 7074, 7076, 7058, 7059} 0th index: 7072 4th index: 7058
Nhận phần tử cuối cùng của một bộ trong Python
Chúng ta có thể chuyển đổi nó thành một danh sách và sau đó truy cập phần tử cuối cùng bằng cách sử dụng hàm pop []. Điều này sẽ có phần tử cuối cùng hoặc chúng ta cũng có thể sử dụng index = -1 để có được phần tử cuối cùng.
Python3
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
2$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
3 $ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
4$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
5$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
7$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
9$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha1
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha3____26
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
for first_item in muh_set: break
4create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
for first_item in muh_set: break
9list[s][0]
0$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
10$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
11list[s][0]
2create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
for first_item in muh_set: break
9$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
16Nhận phần tử cuối cùng của một bộ trong Python:
{7072, 7074, 7076, 7058, 7059} 7059 7059
Chúng ta có thể chuyển đổi nó thành một danh sách và sau đó truy cập phần tử cuối cùng bằng cách sử dụng hàm pop []. Điều này sẽ có phần tử cuối cùng hoặc chúng ta cũng có thể sử dụng index = -1 để có được phần tử cuối cùng.
Đầu ra:
Python3
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
2$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
3 $ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
4$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
5$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
7$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
9$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha1
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha3____26
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
for first_item in muh_set: break
4create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
34create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
36$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
37Output::
{7072, 7074, 7076, 7058, 7059} 7072
Nhận phần tử cuối cùng của một bộ trong Python
Chúng ta có thể chuyển đổi nó thành một danh sách và sau đó truy cập phần tử cuối cùng bằng cách sử dụng hàm pop []. Điều này sẽ có phần tử cuối cùng hoặc chúng ta cũng có thể sử dụng index = -1 để có được phần tử cuối cùng.
Python3
Đầu ra:
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
2$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
3 $ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
4$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
5$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
7$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
9$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha1
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
6create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha3____26
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
for first_item in muh_set: break
4create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
57$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
58$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
59$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
60create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
57$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
58$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
11$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
60create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha7
create a set with integer elements: 7072 7074 7076 7058 7059 create a set with string elements: jyothika sravan harsha8
$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
57$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
58$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
71$ ./test_get.py
Time for for i in range[1000]:
for x in s:
break: 0.249871
Time for for i in range[1000]: next[iter[s]]: 0.526266
Time for for i in range[1000]: s.add[s.pop[]]: 0.658832
Time for for i in range[1000]: list[s][0]: 4.117106
Time for for i in range[1000]: random.sample[s, 1]: 21.851104
60Output::
{7072, 7074, 7076, 7058, 7059} retrieve 2 random number: [7074, 7072] retrieve 2 random number: [7058] retrieve 2 random number: [7059, 7058, 7072, 7076]