繁体   English   中英

使用python从列表中的字符串中删除最后两个字符

[英]remove the last two characters from strings in list using python

我有一个非常复杂的问题。 至少我的 Python 技能不足以解决它,我需要帮助或至少关于如何解决这个问题的想法。

我有一大串看起来像这样的单词:

words_articles=['diao','carrosos', 'cidadea', cidadesas']

我需要将每个字符串的最后或最后两个字符附加到另一个列表中,因为它们是这些单词的文章:'a'、'o'、'as'、'os'

我的结果应该是两个列表,如下所示:

words=['dia','carros', 'cidade', 'cidades']

articles=['o', 'os','a','as']

我不知道如何解决这个问题。 我只知道我必须遍历每个字符串,但从这个阶段开始我不知道该怎么做。

words_articles=['diao','carrosos', 'cidadea', 'cidadesas']
words=[]
articles=[]

for y in words:
    for x in y:

这之后我应该怎么做?

你可以测试最后一个字母

words_articles=['diao','carrosos', 'cidadea', 'cidadesas']
words=[]
articles=[]

for word in words_articles:
  if word[-1] == 's':
    words.append(word[:-2])
    articles.append(word[-2:])
  else:
    words.append(word[:-1])
    articles.append(word[-1:])

print(words)
print(articles)

出去:

['dia', 'carros', 'cidade', 'cidades']
['o', 'os', 'a', 'as']

你可能想的“话”和“文章”变量是以防止重复:

words_articles=['diao','carrosos', 'cidadea', 'cidadesas']
words=set()
articles=set()

for word in words_articles:
    suffix_size = 2 if word.endswith("s") else 1
    words.add(word[:-suffix_size])
    articles.add(word[-suffix_size:])

输出将是:

{'carros', 'cidade', 'dia', 'cidades'}
{'a', 'as', 'os', 'o'}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM