大家早上好:
我正在开发一个小的Python程序,它将小字符串匹配在一起,以组成虚构的公司名称。名称段存储在三个列表中,每次请求新名称时,从每个列表中随机选择一个字符串。例如,程序可能从三个列表中选择“Eli”、“rce”和“Softworks”,这将给我“Elirce Softworks”。你知道吗
seg1 = namesegs1[random.randint(0, seg1_length)]
seg2 = namesegs2[random.randint(0, seg2_length)]
seg3 = namesegs3[random.randint(0, seg3_length)]
new_name = "{0}{1} {2}".format(seg1, seg2, seg3)
但是,代码实际上返回['Eli']['rce']['Softworks']。这是有道理的,因为它是从列表中加入项目,但我不明白为什么这些不能以某种方式或其他方式删除。你知道吗
我有一个办法让它成功:
new_name = new_name.replace("'", "")
new_name = new_name.replace(",", "")
new_name = new_name.replace("[", "")
new_name = new_name.replace("]", "")
这样很好地去除了格式,但不太令人满意,感觉我做错了。有没有更好的办法?你知道吗
非常感谢您抽出时间。你知道吗
您熟悉Python字符串连接功能吗? 对我来说这听起来像是你需要的。你知道吗
http://docs.python.org/2/library/stdtypes.html#str.join
看起来
namesegs1
是一个列表列表,而不是一个字符串列表。你知道吗你从下面得到了什么?你知道吗
顺便说一下,使用
random.choice(namesegs1)
从列表中随机选择一个项目,而不是使用random.randint
所做的事情。你知道吗假设您使用随机化器的逻辑生成一个输入列表,如下所示:
input_list = [['Eli'],['rce'],['Softworks']]
以下代码将为您提供所需的内容:
相关问题 更多 >
编程相关推荐