我正在運行一個字符串,創建大小爲10的所有子字符串,並將它們添加到字典中。這是我的代碼,習慣性的Python迭代和添加到字典
sequence_map = {}
for i in range(len(s)):
sub = s[i:i+10]
if sub in sequence_map:
sequence_map[sub] += 1
else:
sequence_map[sub] = 1
有沒有辦法做到這一點更pythonically?
另外我該如何做反向pythonically,如在通過字典進行交互和組成一個列表,其中值是等於什麼?
[k for k, v in sequence_map.items()]
是,使用一個'collections.Counter'對象。所以'sequence_map = Counter(s [i:i + 10] for range in(len(s))' –
也不會忘記你真的只想迭代到range(len(s)) - 10 ' – Hamms
大概你知道這不會產生全部長度爲10的所有子字符串,這是由於在Python中切片的困難性。如果你不這樣做,你會想'爲我在range(len( s) - 9)'。 –