说我有这个清单: (a b ((c)) (d + e) ((e + f)) (g) () h)
如何获得以下列表(最好带有功能):(a b c (d + e) (e + f) g h)
换一种说法:
如果嵌套列表只有一个元素,则将其简化为元素.((c))在上面的例子中,这简化为c.也((e + f))变成了(e + f).
如果嵌套列表包含多个元素,则它保持不变.这(d + e)仍然(d + e)如上例所示.
如果嵌套列表为null,则只删除它.
最后,我不确定在这种情况下flatten一词是否适用.我希望我的问题很明确.如果没有,请告诉我.
提前致谢!
我正在使用带有底层TreeStore的NestedList.现在我想将项目添加到NestedList中作为叶子.我怎样才能做到这一点?
目前我的代码(Controller,onAddButtonTapped)如下所示:
var store = Ext.getStore('menuStore');
var customerAreaNode = store.getRoot().getChildAt(1);
customerAreaNode.appendChild({name: "text", leaf:true});
customerAreaNode.expand();
store.sync();
Run Code Online (Sandbox Code Playgroud)
此代码在叶级别(在正确的节点后面)和节点级别上的一个新的侦听中产生两个新的空侦听.每个新条目都没有在NestedList中显示的名称,但每个项目的名称字段中都包含"text".奇怪的是,叶级别的一个新条目没有输入到底层模型.因此无法找到模型对应的方法:
Uncaught TypeError: Cannot call method 'getSelectedName' of undefined
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何将数据添加到NestedList/TreeStore的简单教程?我在sencha touch docs中找不到一个好的例子.
我是Python新手,我对列表有困难.我希望从列表中的所有值中减去1,除了值10.5.下面的代码给出了x3列表分配索引超出范围的错误.到目前为止的代码:
x2=[10.5, -6.36, 11.56, 19.06, -4.37, 26.56, 9.38, -33.12, -8.44, 0.31, -13.44, - 6.25, -13.44, -0.94, -0.94, 19.06, 0.31, -5.94, -13.75, -23.44, -51.68, 10.5]
x3=[]
i=0
while (i<22):
if x2[i]==10.5:
x3[i]=x2[i]
else:
x3[i]=x2[i]-1
break
#The result I want to achieve is:
#x3=[10.5, -7.36, 10.56, 18.06, -5.37, 25.56, 8.38, -34.12, -9.44, -1.31, -14.44, -7.25, -14.44, -1.94, -1.94, 18.06, -1.31, -6.94, -14.75, -24.44, -52.68, 10.5]
Run Code Online (Sandbox Code Playgroud) 所以,我需要在两个嵌套列表之间拖放.这是一种组合:http://jqueryui.com/demos/sortable/#connect-lists
这个:http://mjsarfatti.com/sandbox/nestedSortable/
有什么东西可以做到这一点,或者我应该尝试同时使用这些,不知何故?
我正在使用Python进行网络流量监控项目.不熟悉Python,所以我在这里寻求帮助.
简而言之,我正在检查流量和流量,我这样写:
for iter in ('in','out'):
netdata = myhttp()
print data
Run Code Online (Sandbox Code Playgroud)
netdata是一个由嵌套列表组成的列表,其格式如下:
[ [t1,f1], [t2,f2], ...]
Run Code Online (Sandbox Code Playgroud)
这里t代表的是时刻,f是流动.但是我只想在这个时刻保留这些f进行内外,我想知道如何获得有效的代码.
经过一些搜索,我认为我需要使用创建流量列表(2个元素),然后使用zip函数同时迭代这两个列表,但是我很难写出正确的列表.由于我的netdata是一个很长的列表,效率也非常重要.
如果有任何令人困惑的事情,请告诉我,我会尽力澄清.感谢帮助
我在数据帧中有这么大的语料库数据
res(数据帧)
text.1
1 <NA>
2 beren stuart vanuatu monday october venkatesh ramesh sandeep talanki nagaraj subject approve qlikview gpa access process form gpa access email requestor line manager access granted raj add user qlikview workgroup gpa access form requestors lim tek kon vanuatu address lini high port vila efate title relationship manager emerging corporates employee id lan id limtk bsbcc authorising manager beren stuart vanuatu read gpa dashboard business technical reason na
text.2
1 <NA>
2 kumar santhosh behalf …Run Code Online (Sandbox Code Playgroud) 我知道我可以使用以下方法将列表拆分为相同大小的子列表:
segment = len(list)//k
sub_lists = [list[i:i+segment] for i in range(0, len(list), segment)]
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何将长度为k ^ m的列表拆分为子列表,然后是其他子列表,直到每个子列表的长度为1.
例如:
k = 2
list = [1, 2, 3, 4, 5, 6, 7, 8]
list = [[1, 2, 3, 4], [5, 6, 7, 8]]
list = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
list = [[[[1], [2]], [[3], [4]]], [[[5], [6]], [[7], [8]]]]
Run Code Online (Sandbox Code Playgroud)
每当我试图循环这个时,我就会被打结,是否有捷径?
我想cbind还是unnest或as.data.table部分嵌套列表.
id <- c(1,2)
A <- c("A1","A2","A3")
B <- c("B1")
AB <- list(A=A,B=B)
ABAB <- list(AB,AB)
nested_list <- list(id=id,ABAB=ABAB)
Run Code Online (Sandbox Code Playgroud)
的lengthID的相同ABAB(2在这种情况下).我不知道unlist该列表的一部分(ABAB)和cbind另一部分(id).这是我想要的结果data.table:
data.table(id=c(1,1,1,2,2,2),A=c("A1","A2","A3","A1","A2","A3"),B=rep("B1",6))
id A B
1: 1 A1 B1
2: 1 A2 B1
3: 1 A3 B1
4: 2 A1 B1
5: 2 A2 B1
6: 2 A3 B1
Run Code Online (Sandbox Code Playgroud) 我必须解决的问题是将嵌套列表作为输入,并返回相同的嵌套列表,除了每个元素是以前存在于该点中的元素的平方.这是我的代码
>>> def treemap(lst):
... for element in lst:
... if element == type(list):
... return treemap(element)
... else:
... element=element**2
... return lst
>>> lst = [1, 2, 3, [4, [5, 6], 7]]
>>> print(treemap(lst))
Run Code Online (Sandbox Code Playgroud)
现在我收到一个错误,说'int'对象不可迭代.我假设这意味着它正在尝试为整数类型运行循环,这对我来说没有意义,因为我只重新运行列表类型的函数.
我想用另一个可变长度的列表过滤嵌套列表.如果子列表中的任何项与筛选器列表的任何元素匹配,则应排除子列表.以下代码对我有用,但是这个任务有一个"更清洁"的解决方案吗?
the_list = [['blue'], ['blue', 'red', 'black'], ['green', 'yellow'], ['yellow', 'green'], ['orange'], ['white', 'gray']]
filters = ['blue', 'white']
filtered_list = []
for sublist in the_list:
for item in sublist:
if item in filters:
break
filtered_list.append(sublist)
break
Run Code Online (Sandbox Code Playgroud)
预期产量:
filtered_list = [['green', 'yellow'], ['yellow', 'green'], ['orange']]
Run Code Online (Sandbox Code Playgroud) nested-lists ×10
python ×5
list ×4
r ×2
recursion ×2
data.table ×1
filter ×1
flatten ×1
jquery ×1
scheme ×1