簡體   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