关于#python#的问题:我想着先创建一个1循环的列表,然后再创建一个0循环的列表

问题遇到的现象和发生背景

jupyter notebook用for循环创建一个1101001000100001列表,最后两个1之间有10个0

我的解答思路和尝试过的方法

我想着先创建一个1循环的列表,然后再创建一个0循环的列表,然后第二个列表插入第一个,但是写不出来,而且代码肯定有些冗余

我想要达到的结果

想问一下各位,怎么用简单易懂的代码写出来,因为自己刚学,不是很懂

如果是每个值都属于一个元素存放在列表中的话使用以下代码就可以实现

numlist = []
i=1
while i<=11:
    numlist.append(1)
    for k in range(1,i):
        numlist.append(0)
    i += 1
numlist.append(1)
print(numlist)

输出结果为

img

如果想总和成一个字符串有两种方式:

  1. 可以在上面的基础上把print(numlist)改成print("".join(numlist))
  2. 使用以下代码
strs = ""
i=1
while i<=11:
    strs += "1"
    for k in range(1,i):
        strs += "0"
    i += 1
strs += "1"
print(strs)