Python的添加或在特定位置删除字母

问题描述:

我有一个问题:Python的添加或在特定位置删除字母

如果非要使用random.choice产生类似

['a', 'o', 'r', 'x', ' ', 's', 'n', ' ', 'k', 'p', 'l', 'q', 't']

如何添加例如3个字母( )在此列表中的每个字符串之前和之后?

+7

你在问之前试过做什么?什么是预期的输出?你传递给'random.choice()'什么? ''a''后应该有3或6个字符 – depperm

+0

与你所拥有的相同 –

+0

并编辑你的问题,请参阅https://stackoverflow.com/help/how-to-ask –

你应该做到以下几点:

  • 生成一个包含所有字母
  • 使用ranodm.sample()代替random.choice()产生的3个随机字母列表,你这时应该join()
  • 返回一个字符串新元素就地列表

看起来像这样:

import string 
import random 


def add_str(lst): 
    _letters = string.ascii_letters 
    return [''.join(random.sample(set(_letters), 3)) + letter + ''.join(random.sample(set(_letters), 3)) 
      for letter in lst] 


print(add_str(['a', 'o', 'r', 'x', ' ', 's', 'n', ' ', 'k', 'p', 'l', 'q', 't'])) 

> ['FUsaeNZ', 'pASoiTI', 'XfbrUXe', 'ZyKxhSs', 'lIJ blk', 'bJXseAI', 'uFcnUeQ', 'KRd wfF', 'VyPkjvq', 'CbwpCro', 'QOTlNfi', 'UNuqRDe', 'hEjtnIv'] 

我想你想在字符串的每个字母的开头和结尾有不同的字母。如果你需要他们是相同的,你可以处理它。既然你没有提供任何的例子,我回答了你确切的问题和我从中理解的东西。如果你需要别的东西(看起来就像是评论中的情况),你可以从哪里开始

+0

谢谢,它工作。但是有什么办法可以将输出合并为一个字符串? –

+0

用途:'print(''。join(add_str(['a','o','r','x','','s','n','','k','p ','l','q','t'])))' – 2017-06-22 14:04:48

+0

好的,最后一个问题:当我想删除那些额外的字符时,我应该怎么做相反的事情? –