在其他语言(ruby,python,...)我可以使用zip(list1, list2)
这样的工作:
如果list1 is {1,2,3,4}
和list2 is {a,b,c}
然后zip(list1, list2)
会回来:{(1,a), (2,b), (3,c), (d,null)}
这种方法在.NET的Linq扩展中是否可用?
我正在读取一个文件并构建一个列表a2
。我想在前两项之后插入 3 行以a2
从列表中列出。b
b = ["This is a line", "another line", "and another one"]
a2 = ['a1', 'a2', 'a3']
i = 0
for x, y in map(None, a2[0:2], a2):
i = i + 1
if x == y:
continue
else:
for newLine in b:
a2.insert(i-1, newLine)
i = i+1
print a2
Run Code Online (Sandbox Code Playgroud)
上面确实给了我预期的结果['a1', 'a2', 'This is a line', 'another line', 'and another one', 'a3']
,但由于我要从巨大的文本文件中构建列表并在之间插入几行,我想我必须使其性能更加直观!
我有一个列表结构,它代表这样递给我的表
> l = list(list(1, 4), list(2, 5), list(3, 6))
> str(l)
List of 3
$ :List of 2
..$ : num 1
..$ : num 4
$ :List of 2
..$ : num 2
..$ : num 5
$ :List of 2
..$ : num 3
..$ : num 6
Run Code Online (Sandbox Code Playgroud)
我想将其转换为
> lt = list(x = c(1, 2, 3), y = c(4, 5, 6))
> str(lt)
List of 2
$ x: num [1:3] 1 2 3
$ y: num …
Run Code Online (Sandbox Code Playgroud) 假设有两个列表:
l1 = [2,2,3]
l2 = ['a','b','c']
Run Code Online (Sandbox Code Playgroud)
我想知道如何找到两者的乘积,使得输出为:
#output: ['a','a','b','b','c','c','c']
Run Code Online (Sandbox Code Playgroud)
如果我做:
l3 = []
for i in l2:
for j in l1:
l3.append(i)
Run Code Online (Sandbox Code Playgroud)
我得到:
['a', 'a', 'a', 'b', 'b', 'b', 'c', 'c', 'c']
Run Code Online (Sandbox Code Playgroud)
这是错误的,我想知道我在哪里犯了错误?
[3, 3, 3, 4, 4, 2]
Run Code Online (Sandbox Code Playgroud)
将会:
[ (3, 3), (4, 2), (2, 1) ]
Run Code Online (Sandbox Code Playgroud)
输出应按最高计数从第一到最低计数排序.在这种情况下,3到2比1.
我有两个列表操作,我想请求帮助.我实现它们的方式不是很优雅,所以我想向你们的专家学习.
1)假设我有两个列表,一个是喜欢{{0,2,4},{1,3,2},{2,0,4}}
而另一个是{{1,3,7},{2,4,6},{3,1,9}}
.我想要根据值,或者基于某些标准来过滤第一个列表,然后在第二个列表中获取相应的元素.例如,基于非零值,我想得到{{3,7},{2,4,6},{3,9}}
.根据大于2的条件,我想得到{{7},{4},{9}}
.
2)我有一个列表,如{{{1,2},{1,1}},{{1,3},{2,4}},{{1,2},{2,3}},{{1,4},{3,3}}}
.我想形成{{{1,2},{{1,1},{2,3}}},{{1,3},{{2,4}}},{{1,4},{{3,3}}}
.也就是说,如果第一个元素相同,我想将这些第二个列表分组.我怎么能以漂亮的方式做到这一点?
非常感谢.
我只是想知道:
给定一个列表{{{3,1,2},{4,2,5}},{{7,1},{2,4}}}
,我想对第一个组件进行排序,然后像第一个组件那样更改第二个组件.期望的结果是{{{1,2,3},{2,5,4}},{{1,7},{4,2}}}
.
我怎样才能做到这一点?非常感谢您的帮助.
我想使用(max)
带有list
数字的预定义函数(R5RS),其长度不同.不幸的是,(max)
接受这样的输入:
(max 2 43 5 6)
=> 43
Run Code Online (Sandbox Code Playgroud)
我试图像这样使用它:
(define lst '(3 5 53 4 53 54 32))
(max lst)
Run Code Online (Sandbox Code Playgroud)
这会产生以下错误.
max: expects argument of type <real number>; given (3 5 53 4 53 54 32)
Run Code Online (Sandbox Code Playgroud)
我如何将这个列表分解为我需要的各个参数,因为我将它们传递给了(max)
?
物品a
是_1
或1
.
a =: 1 _1 _1 1 _1
Run Code Online (Sandbox Code Playgroud)
有3个符号变化a
:
1, -1, -1, 1, -1
? ? ?
here and here
Run Code Online (Sandbox Code Playgroud)
我如何无限地计算它们?
如果我有
List<String> text
Run Code Online (Sandbox Code Playgroud)
如何创建特定范围内所有连续元素的子列表,例如
List<String> subList = /* all elements within text bar the first 2*/
Run Code Online (Sandbox Code Playgroud)
还有其他有用的List操作提示和技巧可能有用吗?