我是Python的新手,遇到了一段有趣的代码,我试图更详细地理解。我的数据框看起来像这样:
coins
有人非常高兴地在此网站上发布了以下代码:
qty
我了解pd.DataFrame内部的代码在做什么。但是,在上述情况下,我找不到任何有关for循环工作原理的文档。尽管它的工作方式类似于列表理解,但这看起来并不像列表理解。
有人可以指出一些文档/教程来解释如何使用上述语法吗?
答案 0 :(得分:2)
这是字典理解。 字典允许您将一个值映射到另一个值,这就是您在代码中所做的事情。 官方python documentation covers this的例子很简洁
{x: x**2 for x in (2, 4, 6)}
返回一个字典:{2: 4, 4: 16, 6: 36}
,其中x
映射到x**2
基本上,您在这里所做的是
{key: value that you want for the key, value in dict.items()}
答案 1 :(得分:1)
实际上不是列表理解,而是使用了两个概念,
以下代码,
{col: data[col].str.contains('#') for col in cols}
使用变量col遍历列表df.columns并将其添加到结果列表中。这种语法是字典理解。
词典理解示例:
myDict = {x: x**2 for x in [1,2,3,4,5]}
print (myDict)
输出
{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}