Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.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 反向列出,按-1列出多个_Python - Fatal编程技术网

Python 反向列出,按-1列出多个

Python 反向列出,按-1列出多个,python,Python,预期结果: >>> createLists(5) ([1, 2, 3, 4, 5], [5, 4, 3, 2, 1], [ -5, -4, -3, -2, -1], [-1, -2, -3, -4, -5]) 我的代码: # Write a function that returns 4 lists given a postive number. def createLists(num): ls = [item for item in ra

预期结果:

>>> createLists(5)
([1, 2, 3, 4, 5], [5, 4, 3, 2, 1], [ -5, -4, -3, -2, -1], [-1, -2, -3, -4, -5])
我的代码:

  # Write a function that returns 4 lists given a postive number.
    def createLists(num): 
        ls =    [item for item in range(num)]
        return set(ls, ls.reverse(), ls.reverse()*(-1), ls*(-1))
有人教我怎么做吗

def createLists(num): 
    ls = range(1, num+1)
    return (ls, ls[::-1], [-n for n in ls][::-1], [-n for n in ls])

print createLists(5)


您遇到的两个问题是:
1.reverse()将列表反转到位,并且不返回任何内容,因此
set(ls,ls.reverse())
就像调用
set(ls,None)


2.set需要一个列表或其他iterable,而不是几个标量参数。

您遇到的两个问题是:
1.reverse()将列表反转到位,并且不返回任何内容,因此
set(ls,ls.reverse())
就像调用
set(ls,None)


2.set需要一个列表或其他iterable,而不是几个标量参数。

您几乎做对了,只是将列表乘以负数不会使每个元素都为负数,但它将成为一个空列表。相反,您应该编写一个简单的函数,使每个元素为负数或乘以某个数字,例如

def listmul(items, multiplier):
    return [item*multiplier for item in items]

print listmul(range(5), -1)
输出:

[0, -1, -2, -3, -4]

你几乎做对了,除了列表乘以负数不会使每个元素都是负数,但它会变成一个空列表。相反,您应该编写一个简单的函数,使每个元素为负数或乘以某个数字,例如

def listmul(items, multiplier):
    return [item*multiplier for item in items]

print listmul(range(5), -1)
输出:

[0, -1, -2, -3, -4]

你提供代码是好的,但是你也应该提供你得到的任何不正确的结果或错误。你应该乘以列表中的每个元素,而不是整个列表。你提供代码是好的,但是您也应该提供您得到的任何不正确的结果或错误。您应该将列表中的每个元素相乘,而不是整个列表,或者仅将
-n
而不是
-1*n
。仅供参考,最后两个列表被交换。为什么在第一行使用列表理解?或者只是
-n
而不是
-1*n
。仅供参考,最后两个列表被交换。为什么在第一行使用列表理解?