Tôi đang tìm một hàm hoặc chương trình ngắn nhận được một chuỗi (tối đa 10 chữ cái) và xáo trộn nó.
cảm ơn Arielxáo trộn chuỗi trong python
32
A
Trả lời
42
Có chức năng shuffle trong mô-đun ngẫu nhiên. Lưu ý rằng nó xáo trộn tại chỗ, vì vậy trước tiên bạn phải chuyển đổi chuỗi của bạn thành một danh sách các ký tự, trộn nó, sau đó tham gia lại kết quả.
import random
l = list(s)
random.shuffle(l)
result = ''.join(l)
66
>>> import random
>>> s="abcdef123"
>>> ''.join(random.sample(s,len(s)))
'1f2bde3ac'
-2
Một mất thay thế cho xáo trộn một chuỗi:
# Python < 3
import random, array
def shuffle_text(text):
if isinstance(text, unicode):
temp= array.array('u', text)
converter= temp.tounicode
else:
temp= array.array('c', text)
converter= temp.tostring
random.shuffle(temp)
return converter()
tôi thêm câu trả lời này chỉ cho đầy đủ vì lợi ích; trên máy chủ gia đình chậm của tôi, nó là nhanh hơn cho các chuỗi đầu vào nhỏ (nhưng sự khác biệt là rất nhỏ), trong khi nó là chậm hơn cho các chuỗi lớn hơn.
Các vấn đề liên quan
- 1. Xáo trộn thẻ trong C#
- 2. SPOJ: Xáo trộn thẻ
- 3. Cách xáo trộn các ký tự trong một chuỗi
- 4. Làm xáo trộn hình ảnh
- 5. Làm xáo trộn mã PHP
- 6. bị xáo trộn Mã trong C
- 7. Làm xáo trộn email trong html
- 8. Có sai khi làm xáo trộn mã bị xáo trộn không?
- 9. Trộn trong Python
- 10. Xáo trộn phân tích thuật toán
- 11. Xáo trộn nếu có vấn đề khác
- 12. Giảm bớt/Làm xáo trộn Mã PHP
- 13. Làm cách nào để xáo trộn các ký tự trong một chuỗi trong JavaScript?
- 14. Tùy chỉnh tên lớp bị xáo trộn trong proguard
- 15. Làm xáo trộn mật khẩu được lưu trữ trong bash
- 16. xáo trộn và bảo vệ ràng buộc NRooks
- 17. Làm thế nào để xáo trộn một ArrayList
- 18. Proguard có hoạt động để làm xáo trộn các hằng số chuỗi tĩnh không?
- 19. Cách yêu cầu Proguard làm xáo trộn tên lớp
- 20. Xác định "sự xáo trộn" của tập hợp dữ liệu - Python
- 21. Làm thế nào để làm xáo trộn SQL Sprocs?
- 22. Tại sao thuật toán xáo trộn này sai?
- 23. Phân trang truy vấn ActiveRecord bị xáo trộn
- 24. Tại sao bạn làm xáo trộn mã của bạn?
- 25. Sử dụng API bộ sưu tập để xáo trộn
- 26. Phương pháp xáo trộn với điều khoản ném
- 27. Xáo trộn một phần của một ArrayBuffer tại chỗ
- 28. Xáo trộn chữ cái trong một NSString trong mục tiêu-C
- 29. Ký tự UTF-8 bị xáo trộn trong tên người dùng Auth HTTP cơ bản
- 30. Làm xáo trộn mã vạch trăn thông qua đột biến thông dịch
+1 cho "tại chỗ". Do đó 'print random.shuffle (['a', 'b', 'c'])' sẽ trả về 'Không có'. Chúng ta phải sử dụng 'L = ['a', 'b', 'c']' rồi 'random.shuffle (L)' và 'in L' để thay thế. – Basj