生成随机列表中的空格
问题描述:
我想从一个更大的名称列表中创建一个随机列表。问题是,生成的名称之间没有空格。我无法理解如何放置空间。这里是我的代码生成随机列表中的空格
import random
final_list = ""
a=0
sss = ("John","Adam","Sara","Lory","Dick","Popeye")
while a<7:
x = random.choice(sss)
final_list += x
a += 1
print (final_list)
的结果是这样的: SaraAdamDickPopeyeSaraPopeyeLory
如何我的名字之间添加空间?此外,任何人都可以建议一个更短的方式来做这个代码?
答
您可以在原始级联添加一个额外的空空字符串:
x = random.choice(sss)
final_list += " "+x if final_list else x
a += 1
或者,更准确地说,在列表理解使用' '.join
:
sss = ("John","Adam","Sara","Lory","Dick","Popeye")
final_string = ' '.join(random.choice(sss) for i in range(7))
+0
这将不会表现完全正确,因为在名字之前还会附加空格 –
+0
@ShubhamSingla请参阅我最近的编辑。 – Ajax1234
答
为了避免开头或结尾的空格,检查如果长度为final_list
已经大于零。
import random
final_list = ""
a=0
sss = ("John","Adam","Sara","Lory","Dick","Popeye")
while a<7:
x = random.choice(sss)
final_list = final_list + " " + x if len(final_list) > 0 else x
a += 1
print (final_list)
如果你不想明确检查,你可以利用strip功能来删除前导和你构建final_list
后尾随空格。
欢迎来到SO。请花时间阅读[问]。 [在Python中连接字符串的首选方式是?](https://stackoverflow.com/questions/12169839/which-is-the-preferred-way-to-concatenate-a-string-in-python)有帮助。请修复缩进。 – wwii