簡體   English   中英

Jython隨機字符串生成

[英]Jython random string generation

所以,我需要創建一個方法,在jython中返回基於給定長度的隨機字符串。 如果我可以實現python random會很容易,但是我找不到辦法做到這一點,因為在每個隨機例子中我都發現使用java隨機類而不是python。 這是代碼位:

  def getrstr (self, length):
    from java.util import Random
    import string
    chars = string.letter + string.digits
    str = ''
    for i in range(1, (length+1)):
      ind = random.nextInt(62) #there should be 62 charicters in chars string
      c = #this is the part where i should get radom char from string using ind
      str = str + c
    return str

我正在嘗試根據包含我需要的所有字符的字符串創建一個字符串。 我只是不能找到一種方法來索引字符串中的字符串,就像我在C#中一樣。

任何想法如何做甚至可能導入python隨機類?

c = chars.charAt(ind);

JavaDocs指導方式。

試試這個,它適用於Jython:

def getrstr(self, length):
    import random, string
    seq = string.letters + string.digits
    randomstr = []
    for i in xrange(length):
        randomstr.append(random.choice(seq))
    return ''.join(randomstr)

請注意,我使用的是Jython的random模塊,而不是Java的Random類。 一個更短的版本,使用列表推導與模塊級導入(根據pep-8):

import random, string

def getrstr(self, length):
    seq = string.letters + string.digits
    return ''.join(random.choice(seq) for _ in xrange(length))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM