如何在Python中进行不区分大小写的字符串比较?
我想以一种非常简单和Pythonic的方式将常规字符串的比较封装到存储库字符串中.我还希望能够使用常规python字符串在字符串中查找值.
在python中将列表列表加入单个列表(或迭代器)的简短语法是什么?
例如,我有一个如下列表,我想迭代a,b和c.
x = [["a","b"], ["c"]]
Run Code Online (Sandbox Code Playgroud)
我能想到的最好的是如下.
result = []
[ result.extend(el) for el in x]
for el in result:
print el
Run Code Online (Sandbox Code Playgroud) 在python中你通常使用PEP 8 - Python Code样式指南作为编码标准/指南吗?您还有其他正式标准吗?
Python Decimal不支持从float构造; 它希望你必须先将float转换为字符串.
这非常不方便,因为浮点数的标准字符串格式化程序要求您指定小数位数而不是重要位置.因此,如果你有一个数字,可能有多达15个小数位,你需要格式化为十进制(""%.15f"%my_float),如果你之前也有任何有效数字,这将给你15位小数的垃圾小数.
有人建议一个很好的方法从用户输入的浮点数转换为十进制保留值,可能会限制可支持的有效位数吗?
希望提高相当大的Python项目的质量.我对PyLint给我的警告类型感到满意.但是,它们太多而且难以在大型组织中执行.此外,我认为某些代码在下一个bug可能出现的地方比其他代码更具关键性/敏感性.例如,我想花更多的时间验证100个模块使用的库方法,而不是2年前最后一次触及的脚本,可能不会用于生产.了解经常更新的模块也很有趣.
是否有人熟悉Python工具或其他有助于此类分析的工具?
有没有办法在python进程中查看各种线程正在做什么的堆栈跟踪?
假设我有一个线程允许我对进程进行某种远程访问.
有没有人知道python中更快的十进制实现.如下例所示,标准python decimal比float慢约100倍.
from timeit import Timer
def run(val, the_class):
test = the_class(1)
for c in xrange(10000):
d = the_class(val)
d + test
d - test
d * test
d / test
d ** test
str(d)
abs(d)
if __name__ == "__main__":
a = Timer("run(123.345, float)", "from decimal_benchmark import run")
print "FLOAT", a.timeit(1)
a = Timer("run('123.345', Decimal)", "from decimal_benchmark import run; from decimal import Decimal")
print "DECIMAL", a.timeit(1)
FLOAT 0.040635041427
DECIMAL 3.39666790146
Run Code Online (Sandbox Code Playgroud)
谢谢,马克西姆
我想创建自己的集合,它具有python列表的所有属性,并且还知道如何在数据库中保存/加载自身.此外,我想使加载隐式和惰性,因为它不会在创建列表时发生,而是等到它第一次使用时.
有没有一种单一的__xxx__方法,我可以覆盖上加载任何列表属性的第一次使用的列表(如len,getitem,iter而不必重写他们... ...等)?
我们知道Python比任何编译语言都提供了很多生产力.我们在C#中编程并需要在C#中编写单元测试用例.如果我们看到我们为单元测试编写的代码量大约是原始代码的十倍.
在IronPython中编写单元测试用例而不是C#是理想的选择吗?有没有像这样的身体?我写了几个测试用例,看起来很好.但毛茸茸的经理人不会接受.
根据setuptools文档,setup.py develop应该创建egg-link文件并在安装到site-packages文件夹时更新easy_install.pth.但是,在我的情况下,它只创建egg-link文件.setuptools如何决定是否需要更新easy_install.pth?
更多信息:当我将setuptools 0.6c7安装为site-packages下的文件夹时,它可以工作.但是当我使用setuptools 0.6c9作为拉链蛋安装时,它不起作用.
我们对代码进行了一系列不错的单元测试,这些单元测试运行时间不到2分钟.我们还使用TeamCity进行构建并在每次签入后运行测试.但是,我们仍然遇到问题,开发人员"忘记"在提交之前运行所有测试导致TeamCity失败,如果此签入在下午6点完成可能会打破一夜.
"忘记"是一个通用术语,还有一些其他常见原因,即使记住运行测试也可能导致TeamCity失败.如.
- >开发人员只检查他/她工作区中的一些修改过的文件.
- >在eclipse之外修改了一个文件,这样eclipse的团队同步透视不会将其检测为脏.
你如何在你的组织中处理这个问题?
我们正在考虑为开发人员引入"签入程序",这将是一个自动运行所有单元测试然后提交工作区中所有"脏"文件的自动化工具.你有过这种过程的经验吗?您是否了解可能有助于此过程的任何工具?我们的开发环境是使用Eclipse的PyDev插件的Python.
python ×11
unit-testing ×2
c# ×1
coding-style ×1
comparison ×1
decimal ×1
ironpython ×1
matlab ×1
operators ×1
setuptools ×1
teamcity ×1