当我想展开一个列表时,我找到了如下方式:
>>> a = [[1, 2], [3, 4], [5, 6]]
>>> a
[[1, 2], [3, 4], [5, 6]]
>>> sum(a, [])
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
我不知道这些行发生了什么,文档说明:
sum(iterable[, start])资金
start和一个项目iterable从左到右,并返回总.start默认为0.iterable的项通常是数字,并且start不允许该值为字符串.对于某些用例,有很好的替代方案
sum().连接字符串序列的首选快速方法是调用''.join(sequence).要以扩展精度添加浮点值,请参阅math.fsum().要连接一系列迭代,请考虑使用itertools.chain().版本2.3中的新功能.
难道你不认为开始应该是一个数字?为什么[]可以写在这里?
(sum(a, []))
Run Code Online (Sandbox Code Playgroud) 我有两个列表,x并且y:
>>> x = [2, 3, 4]
>>> y = [1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
我想用这些来创建一个新列表.新列表将使每个元素x重复由相应元素指定的次数y.因此,期望的输出是
>>> new_list
[2, 3, 3, 4, 4, 4]
Run Code Online (Sandbox Code Playgroud)
元素的顺序new_list对我来说无关紧要.它也不是至关重要的list- 任何序列类型都可以.
实现这一目标的最快,最有效,最恐怖的方法是什么?
我有两个清单:
nums = [2, 3, 5]
mylist = ["aaa", "bbb", "ccc"]
Run Code Online (Sandbox Code Playgroud)
我想要实现的是重复每个元素的mylist次数与nums. 预期输出为:
["aaa", "aaa", "bbb", "bbb", "bbb", "ccc", "ccc", "ccc", "ccc", "ccc"]
Run Code Online (Sandbox Code Playgroud) age = [19, 20, 21, 22, 23, 24, 25]
frequency = [2, 1, 1, 3, 2, 1, 1]
output_age = [19, 19, 20, 21, 22, 22, 22, 23, 23, 24, 25]
Run Code Online (Sandbox Code Playgroud)
我们如何创建一个新列表,将一个列表中的项目多次添加到另一个列表中?
谢谢