相关疑难解决方法(0)

我应该在我的功能中改变什么

list_1  =[1, 2, 3, 4 ]

def fun(list_1):
    for each value in list1:
        # perform some operation and create a new data frame(pandas) for each value in the list
        # so in total I should get 4 data frames.
        print each_value

        return new_data_frame
Run Code Online (Sandbox Code Playgroud)

当我运行时,fun(list_1)我应该得到4个数据帧:

1
data_frame_1

2
data_frame_2

3
data_frame_3

4
data_frame_4
Run Code Online (Sandbox Code Playgroud)

但我只获得了第一个值的输出.

1
data_frame_1
Run Code Online (Sandbox Code Playgroud)

那我该怎么改变我的功能呢.

python python-2.7 pandas

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

从 Python 类中提取数据

我编写了一个计算冥王星轨道并设置动画的程序,并开始使用类重写它,因为这似乎是将更多行星引入模拟的明智方法。即有一个定义物理的类,然后输入特定的行星数据以获得轨道数据。

    class Planet(object):
        m_sun = 1.989*(10**30)
        G = 6.67*(10**-11)
        dt = 1
        coords = []
        def __init__(self, x, y, vx, vy, m):
            self.x = x
            self.y = y
            self.vx = vx
            self.vy = vy
            self.m = m


        def genData(self):
            while self.dt < 100000000:
                r = ((self.x)**2 + (self.y)**2)**0.5
                a = ((self.G*self.m_sun)/r**2)
                ax = -a*((self.x)/r)
                ay = -a*((self.y)/r)
                self.vx = self.vx + ax*self.dt
                self.vy = self.vy + ay*self.dt
                self.x = self.x + self.vx*self.dt
                self.y = self.y + self.vy*self.dt
                coord = (self.x, …
Run Code Online (Sandbox Code Playgroud)

python class python-2.7

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

Python - 生成十六进制值的所有组合

我有一个 32 位十六进制格式的加密密钥。但我只有 22 位。我必须找到明文。我的思考过程是进行蛮力攻击并找到其他 10 位。我也得到了密文。使用的加密是 128 位 ECB 模式下的 AES。我正在使用 Python,但我刚刚开始学习它,所以我还不是专家。

我的方法是采用 22 位密钥并连接其他 10 位,将其与 Ciphertext 和 Decrypt 一起输入 AES,以检查生成的短语之一是否类似于正确的句子。我唯一坚持的部分是生成 10 位十六进制字符串。

这是我想要的输出:

0000000000
0000000001
0000000002
...
000000000F
...
FFFFFFFFFF
Run Code Online (Sandbox Code Playgroud)

我可以用什么方法来做到这一点?我尝试制作字典并将数值分配给所有十六进制值,但我坚持如何编写一个循环,该循环可以将我想要的序列作为输出。

python string hex for-loop

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

Python递归打印嵌套哈希

我想在Python中打印嵌套哈希,由此:

example_dict = {
    'key1' : 'value1',
    'key2' : {
        'key2a': 'value2a'
    },
    'key3' : {
        'key3a': {
            'key3aa': 'value3aa',
            'key3ab': 'value3ab',
            'key3ac': 'value3ac'
        },
        'key3b': [
            'value3b1',
            'value3b2'
        ]
    },
}
Run Code Online (Sandbox Code Playgroud)

这样的事情:

key1 value1
key2 key2a value2a
key3 key3a key3aa value3aa
key3 key3a key3ab value3ab
key3 key3a key3ac value3ac
key3 key3b value3b1
key3 key3b value3b2
Run Code Online (Sandbox Code Playgroud)

我对Python并不熟悉,几个小时后我仍然陷入困境.

我目前正在研究这个功能:

def recursive(src, res, line = ''):
    if isinstance(src, dict):
        for key, value in src.items():
            line += str(' ' + key)
            recursive(value, res, …
Run Code Online (Sandbox Code Playgroud)

python recursion hash dictionary

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

python中的生成器错误

我仍然是python中的新生成器.我自己尝试了一个并尝试了一些非常简单的事情:

def fib(a):
...     if a==0 or a==1:return 1
...     yield fib(a-1)+fib(a-2)
print(list(fib(5))
Run Code Online (Sandbox Code Playgroud)

这段代码给了我这个错误:

TypeError: unsupported operand type(s) for +: 'generator' and 'generator'
Run Code Online (Sandbox Code Playgroud)

不能以这种方式使用发电机吗?

python generator fibonacci python-3.x

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

os.walk 的迭代在 Python 3 中如何工作?

根据 Python 3文档, os.walk返回一个 3 元组。但是,这不起作用:

root, dirs, files = os.walk('path')
Run Code Online (Sandbox Code Playgroud)

这也不:

(root, dirs, files) = os.walk('path')
Run Code Online (Sandbox Code Playgroud)

它总是产生:

ValueError: not enough values to unpack (expected 3, got 1)
Run Code Online (Sandbox Code Playgroud)

我发现的所有示例都os.walk嵌入os.walk在 for 循环中:

for root, dirs, files in os.walk('path'):
Run Code Online (Sandbox Code Playgroud)

为什么?这里到底要迭代什么?root是字符串,dirsfiles列表。然而,大多数示例都会再次迭代dirsfiles

for root, dirs, files in os.walk('path'):
    for name in files:
        print(name)
    for name in dirs:
        print(name)
Run Code Online (Sandbox Code Playgroud)

内部 for 循环对我来说很有意义,但我不明白外部 for 循环的用途。

为什么对 3 元组的赋值在os.walk嵌入 …

python python-3.x

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

Python:函数以升序返回数字

我怎么能写一个函数,每次调用它时都会按升序给我一个新的数字?

例如,如果我第一次调用它,则返回"1",如果再次调用,则返回"2".

python

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

Python:线程不会启动

我有一个继承自threading.Thread. 由于某种原因,线程不想启动。

这是我的代码:

import time,threading,re,socket


class PyWatch(threading.Thread):

    filename = ""


    def __init__(self,filename):
        threading.Thread.__init__(self)
        print "initiating..."
        self.filename = filename


     def run(self):
        print "running..."
        thefile = open (self.filename)
        thefile.seek(0,2)      # Go to the end of the file
        while True:
                line = thefile.readline()
                if not line:
                     time.sleep(0.1)    # Sleep briefly
                     continue
                yield line
                self.process(line)


    def process(self,line):
        ip =  self.filterIPFromLine(line)
        print ip                

    def filterIPFromLine(self,line):
        ip = None
        if '/var/ossec/active-response/bin/firewall-drop.sh' in  str( line ).lower():
            ip = re.match( "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])" )

            try:
                socket.inet_aton(ip[0])
                ip = …
Run Code Online (Sandbox Code Playgroud)

python multithreading

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

在Python中使用yield?

我有这个代码:

def generator(n):
    list_of = range(1,n+1)
    for i in list_of:
        if i % 7 == 0:
            yield i

print generator(100)
Run Code Online (Sandbox Code Playgroud)

这应该打印给定范围内可被整除的所有数字7,但输出却是<generator object generator at 0x1004ad280>.

此外,yield我的文本编辑器(KOD)中的单词不会像所有保留字一样以天蓝色突出显示,而是以白色显示,是不是很好?

python yield generator

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

优雅的pythonic解决方案,简单的循环

该函数bars获取一个Foo对象列表并返回这些bar属性的列表:

 def bars(foos):
      bars = []
      for foo in foos:
          bars.append(foo.bar)
      return bars
Run Code Online (Sandbox Code Playgroud)

来自Java背景,这是我过去解决这个问题的方式.但我觉得有更优雅的pythonic方式来解决这个问题.我该怎么办?

python python-2.7

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