草庐IT

Pythonic

全部标签

regex - 所需格式的字符串分隔,Pythonic 方式? (有或没有正则表达式)

我有一个格式的字符串:t='@abc@defHellothispartistext'我想得到这个:l=["abc","def"]s='Hellothispartistext'我这样做了:a=t[t.find('',t.rfind('@')):].strip()s=t[:t.find('',t.rfind('@'))].strip()b=a.split('@')l=[i.strip()foriinb][1:]它在大多数情况下都有效,但当文本部分包含“@”时它会失败。例如,当:t='@abc@defMyemailisred@hjk.com'它失败了。@names位于开头,@names之后可

python - 有没有更pythonic的方式来构建这本字典?

构建字典的“最pythonic”方法是什么?我在其中按顺序排列值,并且每个键都是其值的函数?我目前正在使用以下内容,但我觉得我只是缺少一种更简洁的方法。注意:values是一个与任何字典无关的列表。forvalueinvalues:new_dict[key_from_value(value)]=value 最佳答案 至少它更短:dict((key_from_value(value),value)forvalueinvalues) 关于python-有没有更pythonic的方式来构建这本

查找斐波那契数列的 Python 程序。更Pythonic的方式

还有另一个线程讨论Python中的斐波纳奇系列。这是为了将代码调整为更pythonic。HowtowritetheFibonacciSequenceinPython我爱上了我为解决ProjectEulerQ2而编写的这个程序。我刚开始使用Python进行编码,每次我都以Pythonic方式进行编码时感到很高兴!你能建议一个更好的Pythonic方法来做到这一点吗?ProjectEulerQ2.找出斐波那契数列中不超过四百万的所有偶数项的总和。fib=[]deffibo(a=-1,b=1,upto=4000000):ifa+b>=upto:returnelse:a,b=b,a+bfib.

具有相同键的(嵌套)字典的 Pythonic 替代品?

我发现自己在避免使用字典,因为通常它们的代码中有将近一半是重复的。我通常在嵌套字典中执行此操作,其中所有子字典都包含相同的键,但值不同。我手动创建了一个大的父字典,其中每个键都包含一个嵌套字典,用于外部模块。嵌套字典都使用相同的键来定义配置参数。这种用法是明确的并且有效,但是为我手动创建的每个嵌套字典重新键入或复制/粘贴键感觉很愚蠢。我并不过分关心优化内存或性能,只是想知道我是否应该以另一种更Pythonic的方式来做这件事。作为一个常见的小例子和模式:people_dict={"CharlesLindberg":{"address":"123St.","famous":True},"

python - 在对同一函数的多次调用中重用数据的最pythonic 方法是什么?

通常我不会问这样的问题,但python似乎有1.社区对习语的不同寻常的共识水平和2.倾向于通过提高它们的性能来鼓励它们(例如列表理解与映射、过滤器)。我发现自己在编码时经常使用这种模式,请考虑以下JavaScript:varf=(function(){varclosedOver="whatever"returnfunction(param){//re-usesclosurevariableagainandagainwithdifferentparam}})();或者C:intfoo(intx){/*compile-timeconstant,willnotberecalcedforeve

jquery - 指定比较运算符的 Pythonic 方式?

(编辑:我得到了很多关于实现的答案(我很感激),但我在这里更关心的只是规范语法。这个的用户插件(即Python/Django开发人员-而不是网站用户)将需要以我发明的语法指定条件。所以重新表述这个问题......在编写模型或表单类时.......原型(prototype)Python/Django开发人员更喜欢以下哪种语法来指定表单字段的条件显示逻辑?)我正在寻找一些关于最pythonic(可读、直接等)方式的建议,以指定比较运算符以供以后在比较中使用(通过javascript执行)。类似的东西(这只是我想到的一个例子——还有很多其他可能的格式):comparisons=(('a','

python - 将 CSV 值读入列表字典的大多数 Pythonic 方式

我有一个CSV文件,其标题位于数据列的顶部,如下所示:a,b,c1,2,34,5,67,8,9我需要在列表字典中阅读它:desired_result={'a':[1,4,7],'b':[2,5,8],'c':[3,6,9]}使用DictReader阅读本文时我正在使用嵌套循环将项目附加到列表中:f='path_to_some_csv_file.csv'dr=csv.DictReader(open(f))dict_of_lists=dr.next()forkindict_of_lists.keys():dict_of_lists[k]=[dict_of_lists[k]]forlinei

python - 在 MATLAB 中进行这种 pythonic 向量化赋值的等效方法是什么?

我正在尝试将这行代码从Python转换为MATLAB:new_img[M[0,:]-corners[0][0],M[1,:]-corners[1][0],:]=img[T[0,:],T[1,:],:]所以,很自然地,我写了这样的东西:new_img(M(1,:)-corners(2,1),M(2,:)-corners(2,2),:)=img(T(1,:),T(2,:),:);但是当它到达那一行时它给我以下错误:Requested106275x106275x3(252.4GB)arrayexceedsmaximumarraysizepreference.Creationofarraysg

python - 在 R 中做 dt[,y :=myfun(x), by=list(a,b,c)] 的 pythonic 方法是什么?

假设我有一个包含x,a,b,c列的数据框,我想聚合a,b,c以获得值y通过函数myfun从x的列表中,然后复制每个窗口/分区中所有行的值。在R中的data.table这只是1行:dt[,y:=myfun(x),by=list(a,b,c)].在Python中,我想到的唯一方法是做这样的事情:#TosimulaterowsinadataframeclassRecord:def__init__(self,x,a,b,c):self.x=xself.a=aself.b=bself.c=c#AssumewehavealistofRecordasdfmykey=attrgetter('a','b

python - 是否有一种 pythonic 方式知道何时传递 for 中的第一个和最后一个循环?

我有一个模板,我在其中放置了5个表单,但除了第一个表单外,所有表单都无法发布。仅当我首先单击启用它的按钮时,才能填写下一个表单。我正在寻找一种在验收测试中的for循环中实现类似Django的forloop.lasttemplatetag变量的方法,以决定是否执行启用下一个表单的方法。基本上我需要做的是:forform_datainstep.hashes:#getandfillthecurrentformwithdatainform_dataifnotforloop.last:#clickthebuttonthatenablesthenextform#submitallfilledfor