如果索引模数7==0,则从每个块中提取每个字符

2024-10-03 09:12:35 发布

您现在位置:Python中文网/ 问答频道 /正文

好吧,我有一个随机字母和数字的列表,我在任何时期都吐过,所以它看起来像这样

text = "adkisnckindlikenskdihjgkiskdik.adkisnckindlikenskdihjgkiskdik.adkisnckindlikenskdihjgkiskdikadkisnckindlikenskdihjgkiskdi."

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

现在我要把它拿出来:

adkisnckindlikenskdihjgkiskdik
adkisnckindlikenskdihjgkiskdik
adkisnckindlikenskdihjgkiskdik
adkisnckindlikenskdihjgkiskdik

如果索引模数7==0,则从每个块中提取每个字符

我不知道该怎么办?你知道吗


Tags: textin列表for字母数字字符split
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', '']

您可以简单地为其编制索引:

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

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

相关问题 更多 >