709得票7回答
如何在Python中获取两个列表的串联而不修改它们任何一个?

在Python中,我唯一能找到的连接两个列表的方法是使用list.extend,这会修改第一个列表。是否有任何连接函数可以返回其结果而不修改其参数?

170得票14回答
Python中一些内置的方法用于填充列表

我有一个大小小于N的列表,我想用一个值填充它到大小N。 当然,我可以使用类似以下的方法,但我感觉应该有我错过的东西:>>> N = 5 >>> a = [1] >>> map(lambda x, y: y if x is None els...

46得票13回答
如何从列表中删除所有子列表的出现

我有两个列表: big_list = [2, 1, 2, 3, 1, 2, 4] sub_list = [1, 2] 我想从big_list中删除所有sub_list出现的情况。 结果应该是[2, 3, 4] 对于字符串,您可以使用以下内容:'2123124'.replace('12', ...

13得票6回答
在Perl中,我如何得到多个集合的笛卡尔积?

我想在Perl中进行排列组合。例如,我有三个数组:["big", "tiny", "small"],然后是["red", "yellow", "green"],以及["apple", "pear", "banana"]。 我该如何得到: ["big", "red", "apple"] ["...

11得票7回答
如何在列表中Pythonic地迭代滑动窗口对?

如何以最Pythonic和高效的方式在列表中迭代滑动对?以下是一个相关的示例:>>> l ['a', 'b', 'c', 'd', 'e', 'f', 'g'] >>> for x, y in itertools.izip(l, l[1::2]): prin...

9得票3回答
OCaml中的"n choose k"懒惰算法

作为枚举集合的一个大问题的一部分,我需要编写一个OCaml函数“choose”,它接受列表并输出由该列表中元素组成的大小为k的所有可能序列的列表(不重复出现可以通过排列相互获得)。它们在最终列表中的顺序并不重要。 例如, choose 2 [1;2;3;4] = [[1;2];[1;3];...

7得票8回答
在 Haskell 中生成无限列表 [0, 1, -1, 2, -2, ...]

假设我们想要在Haskell中生成列表[0, 1, -1, 2, -2, ...,那么最优雅的方法是什么? 我想出了以下解决方案: solution = [0] ++ foldr (\(a,b) c->a:b:c) [] zip [1..] $ map negate [1..] ...

7得票4回答
有没有Python内置函数可以从多个列表中创建元组?

是否有Python内置函数可以对一组列表执行与tupler相同的操作,或者类似的操作: def tupler(arg1, *args): length = min([len(arg1)]+[len(x) for x in args]) out = [] for i i...