没有错误打印,没有输出,我怎么做" [' p',' q']"印?

时间:2017-04-17 07:52:01

标签: python

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
#makes smaller list of n values, sampling from original list
def make_new_list(n, old_list):
    new_list = []
    i = 0
    while i < n:
        new_list.append(old_list[i])
        i + 1
    return new_list

print(make_new_list(2, original_list))

这是我到目前为止所写的内容。如何安排或修改我的代码,以便我得到[&#39; p&#39;&#39; q&#39;]&#39;印?截至目前,没有任何内容打印到控制台,也没有任何错误告诉我我做错了什么。

5 个答案:

答案 0 :(得分:3)

您需要增加i变量,如下所示:

i = i + 1 

i的新值应分配给i

答案 1 :(得分:1)

关于您的代码,我建议您进行此修改:

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
def make_new_list(n, old_list):
    new_list = old_list[:n]
    return new_list
print (make_new_list(2, original_list))

您可以像这样切片列表:

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
new_list = original_list[:2]

打印:

['p', 'q']

或从最后:

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
new_list = original_list[2:]

打印:

['r', 'x', 't', 'l', 'z', 'y', 'x', 'a', 'b']

或反转清单:

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
new_list = original_list[::-1]

打印:

['b', 'a', 'x', 'y', 'z', 'l', 't', 'x', 'r', 'q', 'p']

或反向切片:

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
new_list = original_list[:-2]

打印:

['p', 'q', 'r', 'x', 't', 'l', 'z', 'y', 'x']

再次反转,虽然有点不必要:

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
new_list = original_list[-2:]

打印:

['a', 'b']

或获取元素不在开头:

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
new_list = original_list[2:4]

打印:

['r', 'x']

答案 2 :(得分:1)

您可以直接切片original_list。请参阅more on lists

In [2]: original_list[:2]
['p', 'q'] #result

答案 3 :(得分:1)

看起来你想要做的就是这个。

original_list = ['p','q','r','x','t','l','z','y','x','a','b']
print(original_list[:2])

输出['p', 'q']

Python数组索引从0开始,因此输出['p']我们需要说original_list[0]并且['q']将是1

由于它是一个数组,您可以从第一个索引0获取数据,然后在3索引2之前停止。 orignal_list[0:2]会输出您想要的内容。

答案 4 :(得分:0)

while中有一个无限循环,因为你只有i + 1,没有作业。

应该是:i = i + 1

此外,您可以使用切片:

def make_new_list(n, old_list):
    return old_list[:n]