2010-07-28 32 views
5

Tôi đã đọc câu trả lời cho câu hỏi Python: Slicing a list into n nearly-equal-length partitions.Python - phân ngẫu nhiên một danh sách thành các phần gần bằng nhau

Đây là accepted answer:

def partition(lst, n): 
    division = len(lst)/float(n) 
    return [ lst[int(round(division * i)): int(round(division * (i + 1)))] for i in xrange(n) ] 

tôi tự hỏi, làm thế nào để sửa đổi các giải pháp này để gán một cách ngẫu nhiên mục vào một phân vùng như trái ngược với nhiệm vụ gia tăng.

Cảm ơn, S :-)

+0

phân vùng cũng là phương thức chuỗi nên có thể bạn nên xem xét lại việc đặt tên. Ngoài ra tôi sẽ sử dụng câu trả lời thứ hai không trôi nổi của Mark Dickinson. –

Trả lời

1

danh sách nhập ngẫu nhiên.

+0

Điều đó hoàn toàn có ý nghĩa. Tôi thực sự nên đã tìm ra điều này. Than ôi, quy tắc 10.000 giờ có thể đúng :-( –

0

Đầu tiên bạn chọn ngẫu nhiên danh sách và sau đó bạn chia nó thành n phần gần bằng nhau.

Các vấn đề liên quan