小编Gar*_*tty的帖子

一种无理由地更改列表值的函数

我为这个为python编写的函数感到震惊.我观察到,在较低的位置,while它会更改列表中的值,vctor即使该功能未触及该列表.我已经通过这对(10, [1,3,5,7,10]),它已将列表更改vctor[1,3,5,8,10].对此有解释吗?

def siguiente(k,vctor):
    l = len(vctor)
    vctorsig = vctor
    i = l-1
    while i>= 0:    
        if vctorsig[i] <= k - l + i: 
            j=i
            while j<=l-1:
                print vctor
                vctorsig[j] = vctor[i]+j-i+1
                j=j+1
            i = -1
        else:
            i = i-1
    return vctorsig    
Run Code Online (Sandbox Code Playgroud)

python python-2.7

2
推荐指数
1
解决办法
56
查看次数

如何在python中加速迭代?

我想知道你是否可以帮我加速我的python脚本.

我有两个清单:

a=['a','b','c','d','e','f','g','h','i','j']

b=['b','f','g','j']
Run Code Online (Sandbox Code Playgroud)

我想创建一个包含b元素的列表,但是它的长度为a,而不是b中的元素被其他东西替换,比方说'-999'.此外,我不想使用b中的元素索引替换实际元素(a,b,c ...).所以看起来像这样:

c=['-999',0,'-999','-999','-999', 1, 2,'-999','-999',3] 
Run Code Online (Sandbox Code Playgroud)

我现在的代码是:

c=[]

counter=0

for each in a:
    if each in b:
        c.append(counter)
        counter+=1
    else:
        c.append('-999')
Run Code Online (Sandbox Code Playgroud)

它工作正常,但是,在现实生活中,我的列表a长度为600 000个元素,实际上有7个b列表需要迭代它们,所有这些都在3k到250k之间.

关于如何提高速度的任何想法?

python iteration performance

2
推荐指数
1
解决办法
968
查看次数

如何在Python中对此数据结构进行排序?

我有一个数据结构(从YAML文档创建),如下所示:

{
    'SD_TX_EN_CFG[5]': {'Bits': {0: 'ENTX // 0 = Disabled, 1 = Enabled'}, 'Name': 'TX Enable Register (Link 5)', 'Offset': 43024},
    'SD_TX_EN_CFG[4]': {'Bits': {0: 'ENTX // 0 = Disabled, 1 = Enabled'}, 'Name': 'TX Enable Register (Link 4)', 'Offset': 40976},
    'SD_RX_EN_CFG[5]': {'Bits': {0: 'ENRX // 0 = Disabled, 1 = Enabled'}, 'Name': 'RX Enable Register (Link 5)', 'Offset': 43008},
    'SD_RX_EN_CFG[3]': {'Bits': {0: 'ENRX // 0 = Disabled, 1 = Enabled'}, 'Name': 'RX Enable Register (Link 3)', 'Offset': 38912},
    'SD_RX_EN_CFG[2]': {'Bits': …
Run Code Online (Sandbox Code Playgroud)

python sorting dictionary pyyaml

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

根据键值过滤python中的嵌套字典

如何根据键值过滤python中的嵌套字典:

d = {'data': {'country': 'US', 'city': 'New York', 'state': None},
     'tags': ['US', 'New York'],
     'type': 'country_info',
     'growth_rate': None
     }
Run Code Online (Sandbox Code Playgroud)

我想过滤这个字典以消除NoneType值,因此产生的字典应该是:

d = {'data': {'country': 'US', 'city': 'New York'},
     'tags': ['US', 'New York'],
     'type': 'country_info',
     }
Run Code Online (Sandbox Code Playgroud)

此外,dict可以有多个嵌套级别.我想从dict中删除所有NoneType值.

python dictionary

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

Python:当访问对象的特定属性时,如何做额外的事情?

假设我有一个Python类:

class Foo(object):
    a = 1
    b = 2
Run Code Online (Sandbox Code Playgroud)

当我访问'a'但不是'b'时,我想做一些额外的事情.所以,例如,让我们假设我想要做的额外事情是增加属性的值:

> f = Foo()
> f.a # Should output 2
> f.a # Should output 3
> f.a # Should output 4
> f.b # Should output 2, since I want the extra behavior just on 'a'
Run Code Online (Sandbox Code Playgroud)

感觉有一种方法可以通过__getattr__或__getattribute__,但我无法理解这一点.

额外的东西可以是任何东西,不一定与属性相关(如打印'Hello world').

谢谢.

python

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

我想使用 Python 字符串格式化表达式将数字格式化为百分比,但它失败了

蟒蛇 2.7.3

>>> print '%2.2f' % 0.1
0.10
Run Code Online (Sandbox Code Playgroud)

我的文档说类型 % 应该与类型 f 相同,只是输入乘以 100。

>>> print '%2.2%' % 0.1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: not all arguments converted during string formatting
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

如何在python中随机删除部分字典?

如果我有一个带有键a0,a1,a2,b1,b2,b3的字典,我只想随机弹出两个带有以'a'开头而不是'b'的键,如何修改下面的代码?

for key in random.sample(d.keys(), n): 
    del d[key] # or d.pop(key) 
Run Code Online (Sandbox Code Playgroud)

python random dictionary

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

为Python安装SOAP

我是Python的新手,试图通过基于"Dive into Python"一书的教程来学习它.我已经在关于SOAP的章节中,当我尝试安装所有必需的库来使用SOAP时,我遇到了一些问题.教程说我需要3个库:

PyXML,fpconst,SOAPpy

我成功安装了fpconst.但是我不能安装另外两个.我在一些论坛上读到要安装SOAPpy我需要安装PyXML,所以问题可能只在第一个库中.

我按照README中的说明操作,但是我遇到了一些错误,我真的不知道出了什么问题,怎么解决它.有关详情,请参见屏幕 我的Python版本是2.7.2+,我正在尝试安装PyXML版本0.8.4.

错误的屏幕截图. 全尺寸

错误表明此类文件或目录不存在.我正在使用Ubuntu 11.10.

PS:啊!我忘了提到那个.我从这个来源下载了PyXML:

http://sourceforge.net/projects/pyxml/

它写在这里它已经过时了,不应该使用它.那么什么是PyXML的替代品呢?

python soappy pyxml

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