首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python中追加将额外的意外元素添加到计算值之间的列表中

在Python中追加将额外的意外元素添加到计算值之间的列表中
EN

Stack Overflow用户
提问于 2013-04-27 04:41:52
回答 2查看 570关注 0票数 1

我正在生成一些数字,每次生成一个数字时,我都想将其存储在一个列表中。

代码:

代码语言:javascript
复制
for m in plaintexts:
    H = V = []

    for k in xrange(0, 256):
        di = m[i_temp1 : i_temp2]
        entry = int(sBox[int(di, 16) ^ k])
        print entry
        V.append(entry)
        print V
        H.append(bin(entry).count("1"))
    tempV.append(V)
    tempH.append(H)

不幸的是,我得到的是完全不同的:

代码语言:javascript
复制
89
[89]
250
[89, 4, 250]
240
[89, 4, 250, 6, 240]
71
[89, 4, 250, 6, 240, 4, 71]
130
[89, 4, 250, 6, 240, 4, 71, 4, 130]
202
[89, 4, 250, 6, 240, 4, 71, 4, 130, 2, 202]
125
[89, 4, 250, 6, 240, 4, 71, 4, 130, 2, 202, 4, 125]

我计算的值是相加的,但每个计算值之间总是添加一个随机数,这些随机值总是在2-8之间。

为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-27 04:43:06

HV是同一个列表。为每个组件创建单独的列表:

代码语言:javascript
复制
H, V = [], []

H = V = []行只创建一个列表,然后将其分配给HV

代码语言:javascript
复制
>>> H = V = []
>>> H is V
True
>>> H.append(42)
>>> V
[42]
>>> H, V = [], []
>>> H is V
False
>>> H.append(42)
>>> V
[]
票数 3
EN

Stack Overflow用户

发布于 2013-04-27 04:48:13

代码语言:javascript
复制
>>> a=b=[]
>>> a.append('hello b')
>>> a,b
(['hello b'], ['hello b'])
>>> a,b=[],[]
>>> a.append('sorry b')
>>> a,b
(['sorry b'], [])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16244881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档