我有一个 listx =[1,2,3,4,5,6,7,8,9]
我想改变列表中的每个第N项.例如,我想修改每2个项目步骤,假设我想修改+1.所以我想得到结果=[1+1,2,3+1,4,5+1,6,7+1,8,9+1] =[2,2,4,4,6,6,8,8,9]
我可以通过使用for循环,通过添加计数器变量,然后通过计数器%2 == 0检查计数器.但这次我只是好奇使用单行声明.这就是我想要的=
newlistx=[i+1 for i in listx] < - 这会修改所有项目,所以我希望我可以在这个迭代过程中使用一些内部索引,变成这样:
newlistx=[i+1 if (__indexing__%step==0) else i for i in listx] 其中step = 2.
实际上,我可以使用list.index()函数,如下所示:
newlistx=[i+1 if listx.index(i)%2==0 else i for i in listx]
这个问题只有在所有项目都是唯一的情况下才有效,如果我得到的项目具有相同的值,那么index()将返回错误的值.
再次,我只是好奇我是否可以获取一些内部索引或计数器,如果存在的话.
我尝试使用 vlookup() 或类似的东西从其他表中查询。我想计算它会产生多少个数组。
如何从 query() 或 filter() 或 vlookup() 找到输出或结果数组的长度?类似于 len() 但用于计数数组。
谢谢
x='andi'
print re.search('an[.]+',x)
Run Code Online (Sandbox Code Playgroud)
它回来了None.它是否匹配字符串.在文档中,.(点)可以表示任何字符.并且+意味着重复1次或更多次.所以[.]+,它应该d在字符串中匹配.
谁能解释一下?为什么会回来None?
嗨,让我说我有几个名字:orange12 , blue124 , red909
,我想抓住索引号,在这种情况下:12,124和909.通常,我可以使用'字符串范围第一个'提取子字符串.并获得第一个最后我将使用'string len orange'和'string len orange12'.现在我正在寻找另一种方式来做到这一点.
作为比较,在python中,我可以做类似的事情:
'orange12'.split('orange')[1]
'blue124'.split('blue')[1]
'red909'.split('red')[1]
Run Code Online (Sandbox Code Playgroud)
我怎样才能在tcl中做类似的事情?我尝试了tcl中的'split',但似乎很复杂,无法使其工作.在tcl中我怎么能用一个词(不是字符)分开?
谢谢
在处理电子表格时,我需要一个“按钮”来链接或跳转到同一电子表格中其他工作表的特定单元格。
如果我在单元格上添加图像,那么我可以分配一个脚本函数并且它工作正常。但我希望图像位于单元格内部而不是单元格上方。问题是,如果我将图像放入单元格内,我将无法再单击它(或无法分配脚本)。
我有这个简单的谷歌表:
在C2中,我使用简单的查询:
=query({A2:A15},"select Col1")
Run Code Online (Sandbox Code Playgroud)
但所有非数字值都被跳过。为什么 ?
我有datalist和filterlist,我想使用list comprehension方法搜索datalist中的任何项,其中的字符串包含filterlist中的任何单词:
>>> datalist=['mytest123orange','dark angle','double69','spartan','broken image 999','2 cup of tea']
>>> filterlist=['test','2','x','123','orange']
>>> print [i for i in datalist if len([ j for j in filterlist if j in i])>0 ]
['test123orange', '2 cup of tea']
Run Code Online (Sandbox Code Playgroud)
它正如我想要的那样工作.但问题是,要从中获取值len([ j for j in filterlist if j in i ])>0,它将需要循环过滤器列表中的所有项.因此,即使它与filterlist中的第一项匹配,循环也必须经历直到结束.例如,当尝试检查时'mytest123orannge',如果filterlist中的测试已经匹配,那么就足够了,我想"打破"循环,所以我不想循环其余的.所以我不需要匹配'orange'或'2'或'123'.
我的问题: