Tag: python

如何创buildPython lambdas列表(在列表理解/ for循环中)?

我想从Python中的常量列表创build一个lambda对象的列表; 例如: listOfNumbers = [1,2,3,4,5] square = lambda x: x * x listOfLambdas = [lambda: square(i) for i in listOfNumbers] 这将创build一个lambda对象的列表,但是,当我运行它们时: for f in listOfLambdas: print f(), 我希望能打印出来 1 4 9 16 25 相反,它打印: 25 25 25 25 25 似乎lambda都被给了错误的参数。 我做错了什么,有没有办法解决这个问题? 我在Python 2.4我想。 编辑:多一点尝试的东西,这样的想法: listOfLambdas = [] for num in listOfNumbers: action = lambda: square(num) […]

Python生成器可迭代迭代器的随机样本

你知道是否有办法让Python的random.sample使用生成器对象。 我试图从一个非常大的文本语料库中随机抽样。 问题是random.sample()引发下面的错误。 TypeError: object of type 'generator' has no len() 我在想,也许有一些itertools的做法,但找不到任何东西与一点search。 一个有点弥补的例子: import random def list_item(ls): for item in ls: yield item random.sample( list_item(range(100)), 20 ) UPDATE 按照MartinPieters的要求,我对目前提出的三种方法做了一些时间安排。 结果如下。 Sampling 1000 from 10000 Using iterSample 0.0163 s Using sample_from_iterable 0.0098 s Using iter_sample_fast 0.0148 s Sampling 10000 from 100000 Using iterSample 0.1786 s Using […]

Python传递列表作为参数

如果我要运行这个代码: def function(y): y.append('yes') return y example = list() function(example) print(example) 为什么会返回['是'],即使我没有直接改变variables'example',我怎样才能修改代码,使'example'不受函数影响?

将列表拆分为值上的嵌套列表

说我有一个像这样的列表: [1, 4, None, 6, 9, None, 3, 9, 4 ] 我决定把它分成None嵌套列表,得到这个: [ [ 1, 4 ], [ 6, 9 ], [ 3, 9, 4 ] ] 当然,我本来可以这样做(9, None)在这种情况下,我们会得到: [ [ 1, 4 ], [ 6 ], [ 3 ], [ 4 ] ] 这是通过迭代使用列表追加(在for循环中) 我很有兴趣知道这是否能以更快的速度完成 – 就像列表理解一样? 如果没有,为什么不(例如,列表理解每次迭代都不能返回多个列表元素?)

如何将一个string拆分为Python中的整数?

我有一个string"42 0" (例如),需要获得两个整数的数组。 我可以在空间上做一个.split吗?

从stringparsing元组?

说我有一个string,这是一个元组应该是相同的forms,例如, "(1,2,3,4,5)" 。 什么是最简单的方法转换成一个实际的元组? 我想要做的一个例子是: tup_string = "(1,2,3,4,5)" tup = make_tuple(tup_string) 只要在string上运行tuple()就可以使整个事情成为一个大元组,而我想要做的就是把string理解为一个元组。 我知道我可以使用正则expression式,但我希望有一个更便宜的方法。 想法?

pip install -r:OSError:权限被拒绝

我正在尝试设置Django 。 当我运行pip install -r requirements.txt ,出现以下exception: Installing collected packages: amqp, anyjson, arrow, beautifulsoup4, billiard, boto, braintree, celery, cffi, cryptography, Django, django-bower, django-braces, django-celery, django-crispy-forms, django-debug-toolbar, django-disqus, django-embed-video, django-filter, django-merchant, django-pagination, django-payments, django-storages, django-vote, django-wysiwyg-redactor, easy-thumbnails, enum34, gnureadline, idna, ipaddress, ipython, kombu, mock, names, ndg-httpsclient, Pillow, pyasn1, pycparser, pycrypto, PyJWT, pyOpenSSL, python-dateutil, pytz, requests, six, […]

类variables在Python中的所有实例共享?

我在一个星期前开始编写python代码,这是我的错误,我很快就开始使用oops,类和对象进行编码。 我认为我的C ++熟练程度将帮助….我通过下面的代码 class A: var=0 list=[] def __init__(self): pass 在这里,令我惊讶的是,var和list是一个全局variables,它在所有的实例中都是共享的……我认为它在所有实例中是不同的……我花了半天的时间那….它并没有丝毫的意义,一个variables只能被一个类对象访问,但是在所有的实例中共享…….只是好奇,是否有一个原因呢? ??

将另一个iterable分组成N个Python组的Python生成器

我正在寻找一个函数,它需要一个可迭代的i和一个大小为n元组,并产生长度为n元组,它们是从i顺序值: x = [1,2,3,4,5,6,7,8,9,0] [z for z in TheFunc(x,3)] 给 [(1,2,3),(4,5,6),(7,8,9),(0)] 标准库中是否有这样的function? 如果它存在作为标准库的一部分,我似乎无法find它,我已经用尽了条件search。 我可以自己写,但我宁愿不写。

如何在python中通过相似的索引/属性对元组/对象列表进行分组?

给出一个列表 old_list = [obj_1, obj_2, obj_3, …] 我想创build一个列表: new_list = [[obj_1, obj_2], [obj_3], …] 其中obj_1.some_attr == obj_2.some_attr 。 我可以扔一些循环, if一起检查,但这是丑陋的。 有没有pythonic的方式呢? 顺便说一下,对象的属性都是string。 或者,也可以使用包含元组(长度相同)而不是对象的列表解决scheme。