使用list comprehension打印出长度为4的单词列表

Moz*_*ein 3 python list-comprehension list

我正在尝试编写一个列表理解,使用List1创建长度为4的单词列表.

 List1 = ['jacob','batman','mozarella']


wordList = [words for i in range(1)]
print(wordList)
Run Code Online (Sandbox Code Playgroud)

这打印出wordList但是长度大于4的单词我正在寻找打印出来的程序:

['jaco','batm','moza']
Run Code Online (Sandbox Code Playgroud)

它们是List1中的相同单词,但长度为4

我尝试过这个并没有用

wordList = [[len(4)] words for i in range(1)]
Run Code Online (Sandbox Code Playgroud)

有什么想法吗 ?

Bha*_*Rao 11

你可以使用这个列表comp

>>> List1 = ['jacob','batman','mozarella']
>>> [i[:4] for i in List1]
['jaco', 'batm', 'moza']
Run Code Online (Sandbox Code Playgroud)

参考:

  • i[:4] 是前4个字符的字符串的一部分

其他方法(所有都有自己的缺点)

  • [re.sub(r'(?<=^.{4}).*', '', i) for i in List1]
  • [re.match(r'.{4}', i).group() for i in List1]
  • [''.join(i[j] for j in range(4)) for i in List1]
  • [i.replace(i[4:],'') for i in List1]-----如果是moinmoin或者失败了bongbong

信用 - Avinash Raj