创建不断增加的重复字符数的列表

2024-04-24 04:26:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python创建这种输出

["k", "kk", "kkk", "kkkk", ...]
["rep", "reprep", "repreprep", ...]

这是一个n个元素的列表,由相同的字符(或一小组字符)重复X次组成,每个元素X增加1。你知道吗

我找不到一个简单的方法,没有循环。。 谢谢你


Tags: 方法元素列表小组字符repkk试图用
3条回答
repeating_value = "k" #Assign the value which do you want to be repeated
total_times=5 #how many times do you want
expected_list=[repeating_value*i for i in range(1,total_times+1)]
print(expected_list)
character = 'k'
_range = 5

output = [k*x for k in character for x in range(1, _range + 1)]
print(output)

我将把我的字符乘以范围中指定的数字,然后在列表中遍历范围。为了得到完整的范围,我们在范围的末尾加1。你知道吗

以下是您的输出:

['k', 'kk', 'kkk', 'kkkk', 'kkkkk']

这里有一个使用^{}的生成器,还记得python中字符串与数字“相乘”的属性吗,在这里它们将被复制并连接nth次,例如"a"*3 == "aaa"

import itertools
def genSeq(item):
    yield from (item*i for i in itertools.count())

这里有一个live example

相关问题 更多 >