我试图将两个列表排在一起:
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类,其方法应该以这种方式接受参数和关键字参数
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脚本中有一个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,但我的脚本崩溃所以我不得不关闭终端(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) 我有以下代码:
filelist="$(find $name -type f | sort)";
echo "$filelist";
echo "${#filelist[@]}"
Run Code Online (Sandbox Code Playgroud)
我的数组包含许多元素,但最后一个命令表明我的数组只包含一个元素.我究竟做错了什么?
我需要解决具有复杂初始值的复杂域定义的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) 我想知道是否可以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度)