shares_1 = [50, 100, 75, 200]
shares_2 = [100, 100, 300, 500]
shares_1.extend(shares_2)
print shares_1
输出[50,100,75,200,100,100,300,500]组合两个列表成为一个新的列表和排序
我想是一个变量分配给合并的列表和对列表进行排序。有什么建议吗?
shares_3.sort() = shares_1.extend(shares_2)
谢谢!
shares_1 = [50, 100, 75, 200]
shares_2 = [100, 100, 300, 500]
shares_1.extend(shares_2)
print shares_1
输出[50,100,75,200,100,100,300,500]组合两个列表成为一个新的列表和排序
我想是一个变量分配给合并的列表和对列表进行排序。有什么建议吗?
shares_3.sort() = shares_1.extend(shares_2)
谢谢!
Josh Matthews的回答提供了两个很好的方法。然而,这里有一些一般的原则可以理解:首先,一般来说,当你调用一个改变列表的方法时,将不会返回改变的列表。所以...
>>> shares_1 = [50, 100, 75, 200]
>>> shares_2 = [100, 100, 300, 500]
>>> print shares_1.extend(shares_2)
None
>>> print shares_1.sort()
None
正如你所看到的,这些方法不会返回任何东西 - 它们只是改变它们绑定到的列表。在另一方面,你可以使用sorted
,这不修改列表,而是把它复制,排序复印,并返回副本:
>>> shares_1.extend(shares_2)
>>> shares_3 = sorted(shares_1)
>>> shares_3
[50, 75, 100, 100, 100, 100, 100, 200, 300, 300, 500, 500]
其次,要知道,你可以从未分配给一个函数调用。
>>> def foo():
... pass
...
>>> foo() = 1
File "<stdin>", line 1
SyntaxError: can't assign to function call
shares_3 = shares_1 + shares_2
shares_3.sort()
另外,
shares_1.extend(shares_2)
shares_1.sort()
shares_3 = sorted(shares_1 + shares_2)