【发布时间】:2021-08-24 16:40:15
【问题描述】:
我正在使用 Faker 库。
from faker import Faker
fake = Faker()
我有一个子列表(每个 2 个元素);给出数据框的列名,以及函数调用本身。
所有函数名的列表,不包括以“_”开头的函数名:
my_list = [[m, 'fake.'+m+'()'] for m in dir(fake) if m[0] != '_']
my_list
>>> [['add_provider', 'fake.add_provider()'],
['address', 'fake.address()'], ...
现在,我想在同一个 for 循环中添加另一个条件,不包括函数名。
尝试的解决方案:
exclude = ['add_provider']
fake_cols = [[m, 'fake.'+m+'()'] for m in dir(fake) if function_name in exclude or function_name[:1] == "_"]
fake_cols
输出为空:
[]
任何更简洁的解决方案将不胜感激。
【问题讨论】:
-
只是摆脱任何?这行得通吗?
-
它仍然在我的“排除”列表中包含“add_provider”方法名称。上面最新的代码和输出
-
[m, 'fake.'+m+'()'m 也有一些奇怪的地方是列表吗? -
m 是方法的名称
-
所以 my_list 完全构建为 dir(fake) ?
标签: python string list for-loop substring