Random phần tử trong danh sách

hi !
Cho em hỏi có hàm hay thư thư viện nào hỗ trợ random lấy ra một phần tử bất kỳ từ một danh sách không ạ ? nghĩa ra lấy ra 1 phần tử trong mảng, hoặc random ra một phần tử trong một ListCollection, enum, …
VD :

int a = randomMethod(int[]{3,5,1,2});
print(a); // ra 5

Em hỏi chung vậy thôi chứ không phụ thuộc ngôn ngữ nào cả. Trước giờ em toàn Math.Random() ra index. Cảm ơn mọi người.

2 Likes

Nếu đang sử dụng Python thì dùng random.choice() là ngon nhất!

5 Likes

Mảng hay bộ tập hợp (collection) thì có thể truy xuất bằng chỉ số (index). Đấy, cứ ngẫu nhiên các chỉ số rồi lấy giá trị tại chỉ số đó.

Lưu ý:

  • 1 số ngôn ngữ có chỉ số bắt đầu từ 1.
  • Có thể collection không truy xuất bằng chỉ số, nhưng có thể dùng vòng lặp hoặc iterator (tương tự lặp - không dùng chỉ số).
8 Likes

Ngôn ngữ nào không có thì bạn có thể tự viết luôn, sau này sách ra sài lại thôi :).

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?