使用python替换.join()

时间:2014-01-19 11:22:21

标签: python

我正在学习python并正在阅读我的教程。我遇到了这段代码,想知道是否可以使用简单的循环替换它而不使用内置的.join()

return choice("".join(x * y for x, y in items))

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:5)

你可以:

value = ''
for x, y in items:
    value += x * y
return choice(value)

但要知道这会慢一些,因为你现在必须为items上的每次迭代构建一个新的字符串值。 ''.join()只需构建一个新字符串对象。

如果choice()random.choice()x是一个字符串而y是一个整数,这是一个加权随机选择函数,您还应该能够使用列表:

value = []
for x, y in items:
    value += list(x) * y
return choice(value)