小编fmo*_*lia的帖子

python排序两个列表

我试图将两个列表排在一起:

list1 = [1, 2, 5, 4, 4, 3, 6]
list2 = [3, 2, 1, 2, 1, 7, 8]

list1, list2 = (list(x) for x in zip(*sorted(zip(list1, list2))))
Run Code Online (Sandbox Code Playgroud)

无论如何,这样做可以让我输出

list1 = [1, 2, 3, 4, 4, 5, 6]
list2 = [3, 2, 7, 1, 2, 1, 8]
Run Code Online (Sandbox Code Playgroud)

虽然我想在第一个清单中保留4号等号的初始订单:我想要的是

list1 = [1, 2, 3, 4, 4, 5, 6]
list2 = [3, 2, 7, 2, 1, 1, 8]
Run Code Online (Sandbox Code Playgroud)

我需要做什么?我不想使用循环进行冒泡排序.任何帮助赞赏.

python sorting list

24
推荐指数
2
解决办法
2万
查看次数

python函数*args和**kwargs以及其他指定的关键字参数

我有一个Python类,其方法应该以这种方式接受参数和关键字参数

class plot:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def set_axis(self, *args, xlabel="x", ylabel="y", **kwargs):
        for arg in args:
            <do something>
        for key in kwargs:
             <do somethng else>
Run Code Online (Sandbox Code Playgroud)

打电话时:

plt = plot(x, y)
plt.set_axis("test1", "test2", xlabel="new_x", my_kwarg="test3")
Run Code Online (Sandbox Code Playgroud)

我收到错误: TypeError: set_axis() got multiple values for keyword argument 'xlabel'

无论如何,如果我设置我的方法

class plot:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def set_axis(self, xlabel="x", ylabel="y", *args, **kwargs):
        for arg in args:
            <do something>
        for key in kwargs: …
Run Code Online (Sandbox Code Playgroud)

python methods args kwargs python-2.7

13
推荐指数
3
解决办法
8290
查看次数

Python的matplotlib图例在单独的轴上与gridspec

假设我在python脚本中有一个matplotlib的gridspec实例.我想要做的是创建两个轴,并在一个轴上绘制图形,在另一个轴上绘制图例.就像是

import numpy as np
from matplotlib import gridspec, pyplot as plt

x = np.linspace(0,100)
y = np.sin(x)

gs = gridspec.GridSpec( 100, 100 )
ax1 = fig.add_subplot(gs[ :50, : ])
ax2 = fig.add_subplot(gs[ 55:, : ])
ax1.plot( s, y, label=r'sine' )
ax2.legend() # ?? Here I want legend of ax1
plt.show()
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

python matplotlib legend

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

由于互动问题,matplotlib不再工作了

我正在使用python和matplotlib,但我的脚本崩溃所以我不得不关闭终端(Ubuntu 12.04,matplotib-1.1.0,python2.7).现在,如果我尝试运行任何脚本,它就会崩溃

import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)

出现以下错误

Traceback (most recent call last):
  File "new.py", line 4, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/__init__.py", line 151, in <module>
    from matplotlib.rcsetup import (defaultParams,
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/rcsetup.py", line 20, in <module>
    from matplotlib.colors import is_color_like
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/colors.py", line 54, in <module>
    import matplotlib.cbook as cbook
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/cbook.py", line 32, in <module>
    import new
  File "/home/federico/Documents/doc_uni/idraulica_ambientale/relazione/scripts/variabili/new.py", line 4, in <module>
    import matplotlib.pyplot as plt
  File "/usr/local/lib/python2.7/dist-packages/matplotlib-1.2.0-py2.7-linux-i686.egg/matplotlib/pyplot.py", line 23, in <module>
    from matplotlib import _pylab_helpers, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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

bash数组来自find命令长度

我有以下代码:

filelist="$(find $name -type f | sort)";
echo "$filelist";
echo "${#filelist[@]}"
Run Code Online (Sandbox Code Playgroud)

我的数组包含许多元素,但最后一个命令表明我的数组只包含一个元素.我究竟做错了什么?

arrays size shell

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

具有复杂初始值的scipy odeint

我需要解决具有复杂初始值的复杂域定义的ODE系统.scipy.integrate.odeint不适用于复杂系统.我强调在实部和虚部切割我的系统并分别求解,但我的ODE系统的rhs涉及因变量本身和它们的复共轭之间的产物.哇,我这样做吗?这是我的代码,我尝试在Re和Im部分中破坏RHS,但我不认为解决方案是否相同,因为复杂数字之间的内部产品我不会打破它.在我的脚本中,u1是一个(非常)长的复杂函数,比如u1(Lm)= f_real(Lm)+ 1j*f_imag(Lm).

from numpy import *
from scipy import integrate

def cj(z): return z.conjugate()


def dydt(y, t=0):
    # Notation
    # Dependent Variables
    theta1 = y[0]
    theta3 = y[1]
    Lm = y[2]
    u11 = u1(Lm)
    u13 = u1(3*Lm)
    zeta1 = -2*E*u11*theta1
    zeta3 = -2*E*3*u13*theta3
    # Coefficients
    A0 = theta1*cj(zeta1) + 3*theta3*cj(zeta3)
    A2 = -zeta1*theta1 + 3*cj(zeta1)*theta3 + zeta3*cj(theta1)
    A4 = -theta1*zeta3 - 3*zeta1*theta3
    A6 = -3*theta3*zeta3
    A = - (A2/2 + A4/4 + A6/6)
    # RHS vector components
    dy1dt = …
Run Code Online (Sandbox Code Playgroud)

python scipy complex-numbers odeint

3
推荐指数
2
解决办法
4872
查看次数

Matplotlib曲线与箭头蜱

我想知道是否可以matplotlib用箭头刻度绘制曲线.

就像是:

from pylab import *

y = linspace(0,10,0.01)
x = cos(y)

plot(x, y, '->')
Run Code Online (Sandbox Code Playgroud)

--->---->---->当x增加时,应该得到这样的曲线,当这个曲线---<----<----<减小时(当然也是y).编辑:此外,箭头应该在曲线的方向倾斜(例如,y = x函数为45度)

python plot matplotlib

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