Chọn phần tử trong danh sách python

Chọn các phần tử từ danh sách đã trở thành một hoạt động phổ biến được thực hiện bởi nhiều lập trình viên. Nó chủ yếu được thực hiện để thực hiện một kết quả ngẫu nhiên từ một danh sách các khuyến nghị hoặc kết quả. Tìm nạp các giá trị ngẫu nhiên từ một tập hợp dữ liệu cũng được thực hiện phổ biến trong các trò chơi FPS và trò chơi phiêu lưu. Trong bài viết này, bạn sẽ học các kỹ thuật khác nhau khi sử dụng các phần tử ngẫu nhiên từ danh sách

Chọn các phần tử ngẫu nhiên từ Danh sách trong Python

Có nhiều cách tiếp cận khác nhau để tìm nạp các phần tử từ danh sách một cách ngẫu nhiên. Hãy để chúng tôi thảo luận từng cái một

Phương pháp 1. sử dụng randint[]

Cách tiếp cận trực quan và ngây thơ nhất để giải quyết vấn đề này là tạo ra một số ngẫu nhiên dùng làm chỉ mục danh sách để truy cập ngẫu nhiên từng phần tử từ danh sách. Chúng ta hãy xem kỹ thuật tạo số ngẫu nhiên trong Python bằng cách sử dụng ngẫu nhiên. randint[]

Chương trình

import random
letters = ['Ray', 'Karlos', 'Sue', 'Deeza', 'Bill', 'Steve']
random_index = random.randint[0, len[letters]-1]
print[letters[random_index]]
random_index = random.randint[0, len[letters]-1]
print[letters[random_index]]
random_index = random.randint[0, len[letters]-1]
print[letters[random_index]]

đầu ra

1

3

Giải trình

Ở đây, trước tiên chúng ta phải nhập mô-đun ngẫu nhiên. Sau đó, chúng tôi đã tạo một danh sách đầy đủ các giá trị chuỗi. Sau đó, chúng tôi đã tạo một biến có tên random_index và gán nó với giá trị ngẫu nhiên. randint[0, len[chữ cái]-1]. Randint[] sẽ lấy hai tham số và trích xuất một giá trị từ danh sách đó. Sau đó, chúng tôi đã lặp lại điều tương tự hai lần nữa để thấy tính ngẫu nhiên của hàm. Bạn sẽ thấy rằng các tên xuất hiện ngẫu nhiên từ danh sách và được hiển thị

Phương pháp 2. Sử dụng randrange[]

Đây là một phương thức khác của mô-đun ngẫu nhiên trả về một số ngẫu nhiên n sao cho n lớn hơn hoặc bằng 0 và nhỏ hơn một số đã cho

Nó sử dụng cú pháp

random.randrange[start, stop, step]

Chương trình

import random
letters = [1, 2, 3, 4, 5, 6]
randm = random.randrange[len[letters]]
print[letters[randm]]
randm = random.randrange[len[letters]]
print[letters[randm]]
randm = random.randrange[len[letters]]
print[letters[randm]]

đầu ra

1
2
3

Giải trình

Ở đây, trước tiên chúng ta phải nhập mô-đun ngẫu nhiên. Sau đó, chúng tôi đã tạo một tên danh sách “chữ cái” đầy đủ các giá trị số nguyên. Sau đó, chúng tôi đã tạo một tên biến khác là ngẫu nhiên và tạo một số ngẫu nhiên từ độ dài của các phần tử được tìm thấy trong danh sách đó. Sau đó, chúng tôi đã lặp lại điều tương tự hai lần nữa để thấy tính ngẫu nhiên của hàm. Bạn sẽ thấy rằng các số xuất hiện ngẫu nhiên từ danh sách và được hiển thị

Phương pháp 3. sử dụng ngẫu nhiên. vật mẫu[]

Phương pháp này giúp trả về một danh sách ngẫu nhiên yêu cầu danh sách các mục từ một chuỗi nhất định. Phương pháp này không nhận ra các phần tử trùng lặp trong danh sách. Do đó, nếu bạn muốn chọn ngẫu nhiên các phần tử từ danh sách bằng cách loại bỏ các phần tử trùng lặp, phương pháp này là tốt nhất. Bạn chỉ cần chuyển 2 tham số - tham số đầu tiên chứa chuỗi hoặc kiểu dữ liệu ghép trong khi tham số thứ hai là số phần tử ngẫu nhiên bạn muốn từ chuỗi đó [danh sách tại đây]

Chương trình

import random
li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
numb = 5
print[random.sample[li, numb]]

đầu ra

[5, 1, 6, 8, 4]

Giải trình

Ở đây, trước tiên chúng ta phải nhập mô-đun ngẫu nhiên. Sau đó, chúng tôi đã tạo một danh sách tên “li” có đầy đủ các giá trị số nguyên từ 1 đến 9. Sau đó, chúng tôi đã tạo một biến khác “tê” và đề cập đến số lần chúng tôi muốn tạo số ngẫu nhiên từ danh sách. Sau đó, cuối cùng chúng tôi đã in ngẫu nhiên. sample [] và chuyển danh sách từ đó hàm này sẽ tìm nạp các giá trị ngẫu nhiên cũng như biến tê đang chỉ định số lượng phần tử ngẫu nhiên sẽ được tạo và hiển thị

Phương pháp 4. sử dụng ngẫu nhiên. phương thức lựa chọn []

Phương pháp này giúp trả về số ngẫu nhiên từ một chuỗi nhất định [danh sách tại đây]. Nó chọn giá trị có sẵn từ một tập hợp các phần tử và cũng xem xét các giá trị trùng lặp. Vì nó xem xét giá trị trùng lặp nên bạn có thể sử dụng nó trong các tình huống mà bạn có thể đưa vào các giá trị trùng lặp như cùng thời điểm trong trò chơi

Chương trình

import random
li = [1, 2, 3, 4, 5, 6, 7, 8, 9]
numb = 5
for i in range[numb]:
print[random.choice[li], end =" "]

Giải trình

Ở đây, trước tiên chúng ta phải nhập mô-đun ngẫu nhiên. Sau đó, chúng tôi đã tạo một danh sách tên “li” đầy đủ các số nguyên từ 1 đến 9. Sau đó, chúng tôi đã tạo một biến khác “tê” và đề cập đến số lần chúng tôi muốn tạo số ngẫu nhiên từ danh sách. Sau đó, chúng tôi đã tạo một vòng lặp 'for' sẽ lặp lại cho đến khi giá trị khởi tạo của tê. Trong phần thân của for[], chúng tôi đã in ngẫu nhiên. lựa chọn [] và chuyển danh sách sẽ tạo giá trị ngẫu nhiên với khoảng trắng theo sau nó

Phương pháp 5. Sử dụng shuffle[] trong chức năng do người dùng xác định

Đúng như tên gọi, tính năng này xáo trộn các thành phần của danh sách và phân vùng thành n phần khác nhau. Nó đảm bảo rằng không có phần tử trùng lặp nào được thêm vào vì nó chỉ cắt danh sách và xáo trộn nó làm cho các bộ sưu tập trở nên ngẫu nhiên

Chương trình

________số 8

đầu ra

[['e', 'c'], ['a', 'h'], ['d', 'f'], ['g', 'b']]

Giải trình

Ở đây, trước tiên chúng ta phải nhập mô-đun ngẫu nhiên. Sau đó, chúng tôi đã xác định một hàm do người dùng chọn_rand[] có hai tham số [li và tê]. Trong thân hàm đó, chúng tôi đã gọi ngẫu nhiên. shuffle[] và chuyển li [list]. Sau đó, chúng tôi đã tạo một danh sách trống khác “res”. Trong hàm đó, chúng tôi đã tạo một vòng lặp for sẽ lặp từ 0 cho đến hết độ dài của danh sách li với một bước giá trị tê

Cuối cùng, trong hàm đó, chúng ta có res. append[] sẽ nối các phần tử vào danh sách và trả về giá trị res. Bên ngoài thân hàm, chúng ta đã tạo một danh sách và gán cho nó một tập hợp các ký tự. Cuối cùng, chúng ta phải in giá trị trả về của hàm bằng hàm print[]

Phần kết luận

Tất cả các kỹ thuật này đều hữu ích và tất cả chúng đều có hiệu quả lập trình gần như giống nhau. Bây giờ, các lập trình viên phải kiểm tra xem chương trình nào đang sử dụng ít biến hơn hoặc ít vòng lặp hơn để thực hiện việc thực thi. Vì vậy, các lập trình viên có thể sử dụng bất kỳ ai họ muốn dựa trên lựa chọn ưa thích của họ

Chủ Đề