小编iGw*_*wok的帖子

将Lambda与列表一起使用

我试图检查字符串对象是否在列表中.简写如下:

if str in list:
Run Code Online (Sandbox Code Playgroud)

我面临的问题是这个列表不是字符串列表,而是表的列表.我知道如果直接进行这种比较,什么都不会发生.我想要做的是访问每个名为'Name'的表的属性.

我可以创建一个新列表,并对其进行比较:

newList = []
for i in list:
    newList.append(i.Name)
Run Code Online (Sandbox Code Playgroud)

但由于我还是一个新手,我对Lambda很好奇,并想知道是否有可能实现它?

类似的东西(......但可能没什么):

if str in list (lambda x: x.Name):
Run Code Online (Sandbox Code Playgroud)

python lambda python-2.7

4
推荐指数
1
解决办法
154
查看次数

如何将Python脚本转换为Lua脚本?

我试图将我用Python编写的一段代码翻译成Lua.我在合成包Blackmagic Fusion中使用此代码.

任何帮助将不胜感激!

Python脚本(工作):

try:
    comp.ActiveTool()                            # checks if a tool is selected
except:
    print("nothing selected")
    comp.AddTool("PolylineMask", -32768, -32768) # adds a tool if nothing's selected
Run Code Online (Sandbox Code Playgroud)

Lua脚本(仍然没有工作和错误):

if pcall (comp:ActiveTool()) then
    print "Node Selected"
else
   comp:AddTool("PolylineMask", -32768, -32768)
end
Run Code Online (Sandbox Code Playgroud)

python error-handling lua try-catch blackmagic-fusion

3
推荐指数
1
解决办法
1740
查看次数

在字符串中查找字母,后面没有数字......可能使用 RE?

我正在尝试从字符串中提取不跟在后面或后面不直接跟数字的字母。

这是一个示例字符串:

string = "ts0060_LOD-70234_lr2_billboards_rgba_over_s3d_lf_v5_2Kdciufa_lnh"
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止:

re.findall(r"[a-z]+", string.lower())
Run Code Online (Sandbox Code Playgroud)

这给出了这个结果:

['ts', 'lod', 'lr', 'billboards', 'rgba', 'over', 's', 'd', 'lf', 'v', 'kdciufa', 'lnh']
Run Code Online (Sandbox Code Playgroud)

...但我正在寻找的结果更像是这样的:

['lod', 'billboards', 'rgba', 'over', 'lf', 'lnh']
Run Code Online (Sandbox Code Playgroud)

有没有办法使用正则表达式来实现这一点?

非常感谢,

python regex string

3
推荐指数
1
解决办法
2908
查看次数

比较python中的2个词典时得到一个奇怪的结果

所以我在python中有一对字典:(两者都有完全相同的键)

defaults = {'ToAlpha': 4, 'ToRed': 4, 'ToGreen': 4, 'ToBlue': 4,}

bridged = {'ToAlpha': 3, 'ToRed': 0, 'ToGreen': 1, 'ToBlue': 2,}
Run Code Online (Sandbox Code Playgroud)

当我遍历其中一个字典时,我会快速检查其他字典是否具有相同的密钥,如果是,则将其打印出来.

for key, value in defaults.iteritems():
    if bridged.get(key):
        print key
Run Code Online (Sandbox Code Playgroud)

我期望看到的是:

ToAlpha
ToRed
ToGreen
ToBlue
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,"ToRed"没有打印出来.我必须在这里遗漏一些非常简单的东西,但不知道可能会造成这种情况.

bridged.get('ToRed')
Run Code Online (Sandbox Code Playgroud)

defaults.get('ToRed')
Run Code Online (Sandbox Code Playgroud)

两者都是独立工作,但是当循环遍历时......没什么!

有任何想法吗?

python python-2.7

2
推荐指数
1
解决办法
47
查看次数

正则表达式组的引用长度

我正在尝试用散列替换文件名末尾的数字,例如image.0010001.tiff将成为图像.#######.tiff

是否可以使用单个re.sub方法执行此操作?

这是我到目前为止:

re.sub('(\d+)(?=\.\w+$)', '#'*len('\g<1>'), 'image.0010001.tiff')
Run Code Online (Sandbox Code Playgroud)

python regex python-2.7 python-3.x

2
推荐指数
1
解决办法
266
查看次数

用理解创建字典?

我正在尝试创建一个通过某种条件的目录字典.将每个目录设置为一个值并且每个键从1开始编号是很重要的.

我在这里写了一些东西就是这样,但我想知道是否有更好的方法来做到这一点?

dict(enumerate(sorted([x for x in os.listdir("T:\\") if certain_condition(x)]), start=1))
Run Code Online (Sandbox Code Playgroud)

结果:

{1: 'folderA', 2: 'folderB', 3: 'folderC', 4: 'folderD', 5: 'folderE', 6: 'folderF'}
Run Code Online (Sandbox Code Playgroud)

非常感谢

python list-comprehension python-3.x

1
推荐指数
1
解决办法
59
查看次数

在Linux中将文件作为参数传递

我有一个python脚本,它通过sys.argv将文件作为参数.

在Linux中将此文件作为参数传递的最佳方法是什么?

我已经尝试在我的python脚本的第一行添加这行代码,认为这将使我能够将文件拖放到它上,但这似乎不起作用.

#!/usr/bin/env python
Run Code Online (Sandbox Code Playgroud)

有什么我想念的吗?干杯

python linux

0
推荐指数
1
解决办法
323
查看次数