Python 从文件中获取多个随机行
Python Get Multiple Random Lines From File
谁能帮我快速解决这个问题?这是我正在使用的代码:
# Lists:
anchorslist = []
#Files:
anchors = open(basepath + "anchors.txt", "r")
#Placed In List:
for line in anchors:
anchorslist.append(line.replace("\n", "|"))
#Used:
type(anchorslist)
它将 return 来自我的文本文件的随机行。我想要实现的是让我们说 10 条随机线 returned 像这样:
random_anchor1|random_anchor2|random_anchor3|random_anchor4
我随机使用这个。
def type(name):
value = name[random.randint(0,len(name)-1)]
return value
我要如何修改代码才能return呢?谢谢
'|'.join(random.sample(anchorlist,10))
random.sample(anchorlist,10)
return 来自anchorlist的10个随机元素
'|'.join(...)
使用 |
作为分隔符连接列表
您要使用的是 random
python 模块。这样,您可以使用 random.choice(anchorlist)
到 select 列表中的随机行。下面是一些可以实现这一点的代码:
import random
# Lists:
anchorslist = []
#Files:
anchors = open("anchors.txt", "r")
#Placed In List:
for line in anchors:
anchorslist.append(line.replace("\n", "|"))
anchors.close()
rand_options = anchorslist # duplicate list, better than editting the input list
rand_vals = []
length = 3 # configure to 10, or how ever many random lines you want
for _ in range(length):
rand_val = random.choice(rand_options)
rand_vals.append(rand_val)
rand_options.remove(rand_val) # remove from list so you don't get duplicates (unless you don't mind those)
what_you_want = "".join(rand_vals).rstrip("|")
说 anchors.txt = "Hello \n I \n am \n some \n random \n stuff",
what_you_want = "I|stuff|Hello"
谁能帮我快速解决这个问题?这是我正在使用的代码:
# Lists:
anchorslist = []
#Files:
anchors = open(basepath + "anchors.txt", "r")
#Placed In List:
for line in anchors:
anchorslist.append(line.replace("\n", "|"))
#Used:
type(anchorslist)
它将 return 来自我的文本文件的随机行。我想要实现的是让我们说 10 条随机线 returned 像这样:
random_anchor1|random_anchor2|random_anchor3|random_anchor4
我随机使用这个。
def type(name):
value = name[random.randint(0,len(name)-1)]
return value
我要如何修改代码才能return呢?谢谢
'|'.join(random.sample(anchorlist,10))
random.sample(anchorlist,10)
return 来自anchorlist的10个随机元素
'|'.join(...)
使用 |
作为分隔符连接列表
您要使用的是 random
python 模块。这样,您可以使用 random.choice(anchorlist)
到 select 列表中的随机行。下面是一些可以实现这一点的代码:
import random
# Lists:
anchorslist = []
#Files:
anchors = open("anchors.txt", "r")
#Placed In List:
for line in anchors:
anchorslist.append(line.replace("\n", "|"))
anchors.close()
rand_options = anchorslist # duplicate list, better than editting the input list
rand_vals = []
length = 3 # configure to 10, or how ever many random lines you want
for _ in range(length):
rand_val = random.choice(rand_options)
rand_vals.append(rand_val)
rand_options.remove(rand_val) # remove from list so you don't get duplicates (unless you don't mind those)
what_you_want = "".join(rand_vals).rstrip("|")
说 anchors.txt = "Hello \n I \n am \n some \n random \n stuff", what_you_want = "I|stuff|Hello"