Tek tek karakterlerin listesine bölmek istediğim uzun bir karakter dizim var. Whitespac'ları listenin üyeleri olarak eklemek istiyorum. Bunu nasıl yaparım?Python'daki bir listeye bir dizgeyi bölme
cevap
Yapabileceğiniz:
list('foo')
alanlarda liste üyeleri olarak işlem görecektir İşte
>>> list('foo')
['f', 'o', 'o']
>>> list('f oo')
['f', ' ', 'o', 'o']
Zaman ayırdığınız için teşekkür ederiz. Yukarıdaki cevabın bana yardımcı olabileceğini düşünüyorum. – Rameses
Yapmaya çalıştığım şey, başka bir .txt dosyasından beyaz boşluk içeren bir dize okumaktır. Bu dosya sadece "X" veya "" (boşluk) içerir. – Rameses
Bunu iki boyutlu bir harita oluşturmak için kullanacağım. İki boyutlu diziler görünüşe göre Python tarafından desteklenmediğinden, iç içe geçmiş listeleri kullanmam gerekiyor. – Rameses
dize bazı karşılaştırılması (araya getirilmemiş olsa, ama sen gerekli belirtmek vermedi) ve gerçek zamanlı kullanım listesinde dize açık bir şekilde listelenmesi için başka bir yol listesi():
b='foo of zoo'
a= [c for c in b]
a[0] = 'b'
print 'Item assignment to list and join:',''.join(a)
try:
b[0] = 'b'
except TypeError:
print 'Not mutable string, need to slice:'
b= 'b'+b[1:]
print b
WIDTH = 5
HEIGHT = 5
# a dict to be used as a 2D array:
grid = {}
# initialize the grid to spaces
for x in range(WIDTH):
for y in range(HEIGHT):
grid[ (x,y) ] = ' '
# drop a few Xs
grid[ (1,1) ] = 'X'
grid[ (3,2) ] = 'X'
grid[ (0,4) ] = 'X'
# iterate over the grid in raster order
for x in range(WIDTH):
for y in range(HEIGHT):
if grid[ (x,y) ] == 'X':
print "X found at %d,%d"%(x,y)
# iterate over the grid in arbitrary order, but once per cell
count = 0
for coord,contents in grid.iteritems():
if contents == 'X':
count += 1
print "found %d Xs"%(count)
Tuples, değişmez olmak gayet iyi sözlüğü olun:Bu yukarıdaki yorumlar asıl soruya ancak 'ı dict seçeneğini kullanın nasıl' (simüle etmek 2B dizi) için çözüm değil anahtarlar. Izgaradaki hücreler, siz onları atayana kadar mevcut değildir, bu yüzden, eğer bu bir şey değilse seyrek diziler için çok etkilidir.
- 1. Java'da bir dizgeyi konuma göre bölme
- 2. Bölme işlevini kullanmadan python'da bir dizgeyi ayırma
- 3. Boşlukları ve maksimum uzunluğu kullanarak bir dizgeyi bölme
- 4. Python'da bir sınırlayıcı ile bir dizeyi bölme
- 5. Dizin yolundaki pythondaki boşluklar
- 6. Bir dizgeyi async'den döndürme
- 7. Bir dizi dizgeyi filtrelemek
- 8. Yalnızca belirli bir desene sarılmamışsa dizgeyi ayırma dizesi
- 9. Tek tırnaklı bir dizenin dışında bir dizgeyi boşluklarla nasıl bölebilirim?
- 10. bir vektörü bir listeye dönüştür
- 11. Python'da bir listeye matematiği
- 12. Bir listeye tuples ekleme
- 13. Python'da bir listeye paralellama
- 14. Linq başka bir listeye
- 15. Data.Sequence'ı bir listeye dönüştürün?
- 16. İki diziyi pythondaki bir matrise birleştirin ve sıralayın
- 17. Dapper: Bir dizgeyi enum'a dönüştürme
- 18. Onclick işlevinde bir dizgeyi geçirme
- 19. Python'da bir listeyi bölme
- 20. haskell'de bir listeyi bölme
- 21. Bir String'i çiftlere bölme
- 22. Bir dize bölme()
- 23. Elasticsearch Bir String Bölme
- 24. Python3.5.1: Listeden bir listeye ekleme çalışmaz
- 25. Python'da bir Dizgiyi Listeye Dönüştürme
- 26. Bir listeye öğe ekleyemiyorum? UnsupportedOperationException
- 27. Listeye bir değer atama listesi
- 28. Karmaşık model bir listeye bağlanıyor
- 29. Python'da belirli bir anahtardan listeye
- 30. Numaralandırmayı bir Kümeye/Listeye Dönüştür
Bunu yapmak zorunda değilsiniz, çünkü bir dize zaten bir karakter dizisidir. Lütfen ne yaptığınızı düşündüğünüze dair bir örnek verin. –
Bir dize ve bir karakter listesi arasındaki bir fark, bir listenin değişebilir olmasıdır. Bu yüzden karakter dizisinin bu formata dönüştürülmesini istiyor musunuz? Pek çoğunda pek çok açıdan olmasalar da çok benzerler ve aynı operasyonlar da yapılabilir (bu yüzden onları yalnız bırakmak mantıklı olabilir). – martineau
@martineau: Ama yeni bir dizge oluşturmak genellikle çok verimli olduğundan, bir "liste olarak dize" mutasyonu gerçekten çok faydalı değildir. Tahmin etmekten ziyade bu sorunun etrafındaki bazı gerçek bağlamı görmek faydalı olacaktır. Bir tasarım problemi olduğunu düşünüyorum, ama gerçekler olmadan, amacın ne olduğunu söylemek zor. –