加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python,生成随机字符串括号

发布时间:2020-12-20 12:30:51 所属栏目:Python 来源:网络整理
导读:我想生成随机长度和方括号的模式,例如, []] [[]] [[] [[]] [] 到目前为止,我设法让我的程序随机生成括号,但随机生成它们的次数,所以目前我的程序给我的结果,如, [] [] [] [] [] [] [] [] [] [] [] [] [] [] 因此括号内没有随机性,只显示括号中的随机性. 我想
我想生成随机长度和方括号的模式,例如,
[]] [[]] [[] [[]] []

到目前为止,我设法让我的程序随机生成括号,但随机生成它们的次数,所以目前我的程序给我的结果,如,

[] [] [] [] [] []

[] [] []

[] [] [] [] []

因此括号内没有随机性,只显示括号中的随机性.

我想知道如何将括号的顺序随机ASWELL作为显示的括号数量.

这是我的代码到目前为止,

import random
import string

def randomGen(N):
    return random.randint(1,N)

char1 = '['
char2 = ']'
finalist = []
newList = []
newList2 = []

newValue = randomGen(99)

for i in range(newValue):
    newList = char1
    newList2 = char2
    finalist.append(newList + newList2)

for everChar in finalist:
    print everChar,

谢谢.

解决方法

您可以使用random.sample选择放置位置的索引,例如左括号.然后在其他地方放置右括号:

In [119]: import random

In [122]: N = 10

In [125]: idx = set(random.sample(range(N),N//2))

In [126]: idx
Out[126]: {0,1,4,5,7}

In [127]: ''.join(['[' if i in idx else ']' for i in range(N)])
Out[127]: '[[]][[][]]'

根据你的例子,我假设你想要相同数量的左右括号.如果没有,请使用jonrsharpe的解决方案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读