相关疑难解决方法(0)

Python"Every Other Element"成语

我觉得我花了很多时间在Python中编写代码,但没有足够的时间创建Pythonic代码.最近我遇到了一个有趣的小问题,我认为可能有一个简单,惯用的解决方案.解释原文,我需要收集列表中的每个连续对.例如,给定列表[1,2,3,4,5,6],我想计算[(1,2),(3,4),(5,6)].

我想出了一个看起来像翻译Java的快速解决方案.重温这个问题,我能做的最好的就是

l = [1,2,3,4,5,6]
[(l[2*x],l[2*x+1]) for x in range(len(l)/2)]
Run Code Online (Sandbox Code Playgroud)

在长度不均匀的情况下,其具有抛弃最后一个数字的副作用.

是否有一种我不知道的惯用方法,或者这是我最好的方法?

python idioms

38
推荐指数
4
解决办法
3万
查看次数

35
推荐指数
4
解决办法
4万
查看次数

如何在Python中动态创建属性?

假设我有一个这样的类:

class Alphabet(object):
     __init__(self):
         self.__dict = {'a': 1, 'b': 2, ... 'z': 26}

     @property
     def a(self):
         return self.__dict['a']

     @property
     def b(self):
         return self.__dict['b']

     ...

     @property
     def z(self)
         return self.__dict['z']
Run Code Online (Sandbox Code Playgroud)

这将是一项漫长而繁琐的任务,并且看起来非常多余.有没有办法动态创建这些属性?我知道您可以使用内置的setattr动态创建属性,但我想控制读/写/删除访问(因此我想使用属性).谢谢!

python

17
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×3

idioms ×1

number-formatting ×1