草庐IT

Pythonic

全部标签

python - 以pythonic方式打印字典中最大值的键

这个问题在这里已经有了答案:Gettingkeywithmaximumvalueindictionary?(29个答案)关闭6年前。给定一个字典d,其中键值对由作为键的字符串和作为值的整数组成,我想打印值为最大值的键字符串。当然,我可以遍历d.items(),存储最大值及其键值,并在for循环后输出后者。但是是否有一种更“pythonic”的方式只使用一个max函数结构,比如printmax(...)

python - 为什么 pandas 使用 (&, |) 而不是正常的 pythonic (and, or)?

我了解pandasdocs解释这是惯例,但我想知道为什么?例如:importpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.randn(6,4),index=list('abcdef'),columns=list('ABCD'))print(df[(df.A.5)])print(df[(df.A.5)])返回以下内容:ABCDa-0.284669-0.2774132.524311-1.386008b-0.1903070.325620-0.3677270.347600c-0.763290-0.108921-0.4671671.3873

将字符串列表转换为字典的 Pythonic 方法,其中奇数索引字符串作为键,偶数索引字符串作为值?

我有一个从某处解析的字符串列表,格式如下:[key1,value1,key2,value2,key3,value3,...]我想基于这个列表创建一个字典,像这样:{key1:value1,key2:value2,key3:value3,...}带有索引偏移量的普通for循环可能可以解决问题,但我想知道是否有一种Pythonic方式可以做到这一点。列表理解似乎很有趣,但我似乎无法找到如何将它们应用于这个特定问题。有什么想法吗? 最佳答案 你可以试试:dict(zip(l[::2],l[1::2]))说明:我们将列表分成两个列表,一个是

打开成功的话pythonic的写法

我正在寻找一种pythonic方式来创建和写入文件(如果打开文件成功),否则返回错误(例如,权限被拒绝)。我在这里阅读What'sthepythonicwayofconditionalvariableinitialization?.尽管我不确定这种方法是否有效,因为我已尝试对其进行测试。os.write(fd,String)if(fd=os.open(str("/var/www/file.js"),os.O_RDWR))elsereturnHttpResponse("erroronwrite")它应该是单行的。当我执行上述操作时,出现语法错误:os.write(fd,String)if

eclipse - 编写不使用循环索引的 for 循环的 Pythonic 方法

这个问题在这里已经有了答案:IsitpossibletoimplementaPythonforrangeloopwithoutaniteratorvariable?(15个答案)关闭4个月前。这与以下代码有关,该代码使用for循环生成一系列随机偏移量以供在程序的其他地方使用。这个for循环的索引未被使用,这导致Eclipse/PyDev将“违规”代码突出显示为警告defRandomSample(count):pattern=[]foriinrange(count):pattern.append((random()-0.5,random()-0.5))returnpattern所以我要么

python - 如何让它更短(Pythonic)?

如果它们在字符串中,我必须检查很多世界...代码如下:if"string_1"invar_stringor"string_2"invar_stringor"string_3"invar_stringor"string_n"invar_string:do_something()如何让它更易读、更清晰? 最佳答案 这是一种方式:words=['string_1','string_2',...]ifany(wordinvar_stringforwordinwords):do_something()引用:any()更新:为了完整起见,如果您

python - 从单个列表构建字典的最 Pythonic 方式

我有一个日期名称列表(通常是周一至周六,但有特殊情况适用),我想从中创建字典。我想将每一天的值初始化为零。如果我有一个与天数列表长度相同的零列表,这将是zip()的一个简单用例。然而,零列表是浪费空间,如果这是唯一的解决方案,我会尽快做类似的事情:fordayinweekList:dayDict[day]=0有没有更pythonic的方式? 最佳答案 使用.fromkeys()classmethod:dayDict=dict.fromkeys(weekList,0)它使用第一个参数(序列)中的元素作为键,将第二个参数(默认为None

python - 编写此表达式的更 pythonic 方式?

我应该获取一个单词列表并对其进行排序,但我需要首先对所有以“x”开头的字符串进行分组。这是我得到的:list_1=[]list_2=[]forwordinwords:list_1.append(word)ifword[0]=='x'elselist_2.append(word)returnsorted(list_1)+sorted(list_2)但我觉得有一种更优雅的方式来做到这一点......编辑例子:['mix','xyz','apple','xanadu','aardvark']产生['xanadu','xyz','aardvark','apple','混合']。

python - 在一段时间后杀死线程的大多数 Pythonic 方法

我想在一个线程中运行一个进程(它在一个大的数据库表上迭代)。当线程运行时,我只想让程序等待。如果该线程花费的时间超过30秒,我想终止该线程并执行其他操作。通过终止线程,我的意思是我希望它停止事件并优雅地释放资源。我认为最好的方法是通过Thread()的join(delay)和is_alive()函数,和一个事件。使用join(delay)我可以让我的程序等待线程完成30秒,通过使用is_alive()函数我可以确定线程是否完成这是工作。如果它还没有完成它的工作,就会设置事件,并且线程知道在那个时候停止工作。这种方法是否有效,这是处理我的问题陈述的最pythonic方式吗?下面是一些示例

python - Django:更多 pythonic __unicode__

我所有的django模型都有unicode函数,目前这些往往是这样写的:def__unicode__(self):returnu'Unit:%s--%s*%f'%(self.name,self.base.name,self.mul)但是,像Pythonista一样编码,位于http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html#string-formatting指出self.__dict__是一个字典,因此上面的内容可以简化为:def__unicode__(self):returnu'Unit:%(na