Bir dizeyi (10 harfe kadar) alan bir işlev veya kısa program arıyorum ve karıştırın.
teşekkürler Arielpython'da shuffle dize
32
A
cevap
42
Rastgele modülde shuffle numaralı bir işlev var. Yerinde yerinde karıştığını unutmayın, böylece ilk önce dizenizi bir karakter listesine dönüştürmeniz, karıştırmanız ve sonucu tekrar birleştirmeniz gerekir.
import random
l = list(s)
random.shuffle(l)
result = ''.join(l)
66
>>> import random
>>> s="abcdef123"
>>> ''.join(random.sample(s,len(s)))
'1f2bde3ac'
-2
bir dize üreticimizin için alternatif almak:
# 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()
Sadece uğruna bütünlük açısından bu cevabı ekledi; yavaş ev sunucumda, daha küçük dizeler için daha yavaş olsa da, küçük giriş dizeleri için daha hızlıdır (ancak fark çok küçüktür). "Yerinde" için
İlgili konular
- 1. Shuffle veritabanı kimliği
- 2. Parallel Computing - Shuffle
- 3. shuffle: sıralamanın etkisi
- 4. Pyspark: shuffle RDD
- 5. Shuffle array swift 3
- 6. Nümerik dizi veya pandalarla pythonda rutini sadeleştirme
- 7. Scala ListBuffer (veya eşdeğeri) shuffle
- 8. Shuffle TableView Dizisi bir kerede sadece Swift'de
- 9. shuffle okuma ve Kıvılcım yöneticinin aşağıdaki ekran görüntüsünde
- 10. Scala Haritaya [Dize, Liste [Dize]] Dönüştürme [Dize, Dize]
- 11. Dize ile% dize arasındaki dize enterpolasyonu
- 12. Dize dize diğer dize içermediğini denetleme
- 13. Yerel dize için dize
- 14. dize
- 15. dize
- 16. dize
- 17. Dize
- 18. dize
- 19. Dize
- 20. Dize
- 21. dize
- 22. Dize
- 23. Dize
- 24. dize
- 25. Dize
- 26. :: dize^
- 27. dize
- 28. Dize
- 29. dize
- 30. Dize [] ve [dize] arasındaki fark
+1. Böylece 'print random.shuffle (['a', 'b', 'c'])' 'None'ı döndürecektir. Bunun yerine L = ['a', 'b', 'c'] 'sonra' random.shuffle (L) 've' print L' kullanmak zorundayız. – Basj