2016-12-18 11 views
1

Ok, чтобы у меня есть список случайных букв и цифр, которые я когда-либо плюнуть в период так это выглядитExtract каждый символ из каждого куска, если индекс модуля 7 == 0

text = "adkisnckindlikenskdihjgkiskdik.adkisnckindlikenskdihjgkiskdik.adkisnckindlikenskdihjgkiskdikadkisnckindlikenskdihjgkiskdi." 

lines = text.split(".") 
for stingssplit in lines: 
     print(stingssplit) 

Теперь мне нужно принять это из положить:

adkisnckindlikenskdihjgkiskdik 
adkisnckindlikenskdihjgkiskdik 
adkisnckindlikenskdihjgkiskdik 
adkisnckindlikenskdihjgkiskdik 

и извлечение каждый символ из каждого куска, если индекс модуля 7 == 0

Я понятия не имею, что делать?

+0

[ 'enumerate'] (https://docs.python.org/3/library/functions.html#enumerate) и понимание того, что итерация строки дает вам каждого персонажа. –

ответ

2

Попробуйте следующее:

text = "adkisnckindlikenskdihjgkiskdik.adkisnckindlikenskdihjgkiskdik.adkisnckindlikenskdihjgkiskdikadkisnckindlikenskdihjgkiskdi." 

chunks = text.split(".") 

for chunk in chunks: 
    print ''.join([v for i, v in enumerate(chunk) if i % 7 == 0]) 

Выход:

>>> for chunk in chunks: 
...  print ''.join([v for i, v in enumerate(chunk) if i % 7 == 0]) 
... 
akeji 
akeji 
akejiniik 

>>> 

Или в одной строке:

>>> [''.join([v for i, v in enumerate(chunk) if i % 7 == 0]) for chunk in chunks] 
['akeji', 'akeji', 'akejiniik', ''] 
+0

Твоя работала для меня. Спасибо, теперь я могу перейти к следующей части скрипта. Еще раз спасибо, я застрял там некоторое время. –

4

Вы можете просто индексироваться:

"adkisnckindlikenskdihjgkiskdik"[::7] 
# 'akeji'     # gives you characters at positions 0, 7, 14, 21, 28 

[line[::7] for line in text.split(".")] 
# ['akeji', 'akeji', 'akejiniik', ''] 
+0

Хорошо, я буду возиться с ним, спасибо. –