Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中的简单列表模拟_Python - Fatal编程技术网

python中的简单列表模拟

python中的简单列表模拟,python,Python,没有修改任何东西除了???输出编号后,我需要打印出从1到编号中数字总和的数字,即: lists = ['A', 'B', 'C', 'D'] nos = [4, 4, 1, 1] for idx, ln in enumerate(zip(lists,nos)): l, n = ln[0], ln[1] in_nos = range(1, n+1) for indx, in_no in enumerate(in_nos): out

没有修改任何东西除了???输出编号后,我需要打印出从1到编号中数字总和的数字,即:

lists = ['A', 'B', 'C', 'D']
nos = [4, 4, 1, 1]

for idx, ln in enumerate(zip(lists,nos)):
    l, n = ln[0], ln[1]       
    in_nos = range(1, n+1)    
    for indx, in_no in enumerate(in_nos):  
        out_no = ??? ### **I need an expression to get out_no here** 
        print out_no   
我试着:

out\u no=idx*n+indx+1

这导致:

1
2
3
4
5
6
7
8
9
10

哪个
out\u no
会给我正确的结果?

取决于允许您更改的内容,简单的方法当然是:

1
2
3
4
5
6
7
8
1
1
假设您只能更改为“否”,您可以执行以下操作:

lists = ['A', 'B', 'C', 'D']
nos = [4, 4, 1, 1]

a = 0

for idx, ln in enumerate(zip(lists,nos)):
    l, n = ln[0], ln[1]       
    in_nos = range(1, n+1)    
    for indx, in_no in enumerate(in_nos):  
        out_no = a+indx+1
        print out_no   ##The result should be HERE
    a += n
好的,正如Inauld所指出的,如果你可以放弃一切,但没有更简单的解决方案,例如:

lists = ['A', 'B', 'C', 'D']
nos = [4, 4, 1, 1]

for idx, ln in enumerate(zip(lists,nos)):
    l, n = ln[0], ln[1]       
    in_nos = range(1, n+1)    
    for indx, in_no in enumerate(in_nos):  
        out_no = sum(nos[0:+idx])+indx+1
        print out_no   ##The result should be HERE

我这样做是因为你把事情复杂化了是的,你还需要准确地定义你想要的是什么。似乎你想打印出从1到数字之和的数字。不过这只是基于示例的猜测。@CrazyCasta是的,你清楚地知道我的问题。
列表与这些有什么关系?这真的让问题变得过于复杂了solution@IanAuld这是如何使解决方案过于复杂的?我接受了他给我们的东西,做了最小的改变。请更具建设性地说,“这确实使解决方案过于复杂”,而不说得更具体一些是没有多大帮助的。@CrazyCasta我正在使用你的第二个解决方案,在你自己描述问题后加上1,OP需要找到列表的总和
nos
N
,并打印
范围(1,N+1)内的数字
。因此,与其使用OP制作的任何非常不音速且过于复杂的东西,你应该让他指向:
对于范围内的i(1,sum(nos)+1):print(i)
@i是的,这件事我知道,但我需要使用给定的东西在我的程序中指出的地方获得所需的数字。。。
nos = [4, 4, 1, 1]
for i in range(sum(nos)): print i+1