Tag: python 2.4

Python成语返回第一项或None

我确信有一个简单的方法来做到这一点,只是没有发生在我身上。 我打电话了一堆返回列表的方法。 该列表可能是空的。 如果列表非空,我想返回第一个项目; 否则,我想返回None。 此代码工作: my_list = get_list() if len(my_list) > 0: return my_list[0] return None 在我看来,这样做应该有一个简单的一行成语,但是对于我来说,我想不起来。 在那儿? 编辑: 我在这里寻找单行expression式的原因并不是我喜欢难以置信的简洁代码,而是因为我不得不写很多这样的代码: x = get_first_list() if x: # do something with x[0] # inevitably forget the [0] part, and have a bug to fix y = get_second_list() if y: # do something with y[0] # inevitably […]

用Python 3取消python 2对象

我想知道是否有一种方法来加载Python 2.4中使用Python 3.4进行pickle的对象。 我一直在大量的公司遗留代码上运行2to3,以使其更新。 做到这一点,运行文件时,我得到以下错误: File "H:\fixers – 3.4\addressfixer – 3.4\trunk\lib\address\address_generic.py" , line 382, in read_ref_files d = pickle.load(open(mshelffile, 'rb')) UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 1: ordinal not in range(128) 在争用中查看腌制对象,这是一个dict中的dict ,包含键入和strtypes的值。 所以我的问题是:是否有一种方法来加载一个对象,最初在python 2.4,python3.4?