相关疑难解决方法(0)

拆包,扩展拆包和嵌套扩展拆包

考虑一下这些表达方式......请耐心等待...这是一个很长的清单......

(注意:重复一些表达式 - 这只是为了呈现"上下文")

a, b = 1, 2                          # simple sequence assignment
a, b = ['green', 'blue']             # list asqignment
a, b = 'XY'                          # string assignment
a, b = range(1,5,2)                  # any iterable will do


                                     # nested sequence assignment

(a,b), c = "XY", "Z"                 # a = 'X', b = 'Y', c = 'Z' 

(a,b), c = "XYZ"                     # ERROR -- too many values to unpack
(a,b), c = "XY"                      # ERROR -- need more than 1 value …
Run Code Online (Sandbox Code Playgroud)

python argument-unpacking python-3.x iterable-unpacking

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

Jupyter Notebook:带有小部件的交互式情节

我正在尝试生成依赖于小部件的交互式绘图.我遇到的问题是,当我使用滑块更改参数时,会在上一个之后完成新的绘图,而我预计只会根据参数更改一个绘图.

例:

from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets as widgets

import matplotlib.pyplot as plt
%matplotlib inline

import numpy as np

def plot_func(freq):
    x = np.linspace(0, 2*np.pi)
    y = np.sin(x * freq)
    plt.plot(x, y)

interact(plot_func, freq = widgets.FloatSlider(value=7.5,
                                               min=1,
                                               max=5.0,
                                               step=0.5))
Run Code Online (Sandbox Code Playgroud)

将滑块移动到4.0后,我有:

在此输入图像描述

虽然我只想在移动滑块时改变一个数字.我怎样才能做到这一点?

(我使用的是Python 2.7,matplotlib 2.0,我刚刚更新了笔记本和jupyter到最新版本.如果需要进一步的信息,请告诉我.)

python matplotlib jupyter jupyter-notebook

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

TypeError:将第二个图例添加到绘图时,"PathCollection"对象不可迭代

我正在从三个独立的数据框绘制散点图,并绘制点以及最佳拟合线.我可以使用以下代码完成此操作:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

fig=plt.figure()
ax1=fig.add_subplot(111)
ax2=fig.add_subplot(111)
ax3=fig.add_subplot(111)

#create scatter plots from the dataframes
ax1.scatter(ex_x, ex_y, s=10, c='r', label='Fire Exclusion')
ax2.scatter(one_x,one_y, c='b', marker='s',label='One Fire')
ax3.scatter(two_x, two_y, s=10, c='g', marker='^', label='Two Fires')

#plot lines of best fit
ax1.plot(ex_x,ex_results.predict(), color = 'r',label = 'Linear (Fire Exclusion)')
ax2.plot(one_x,one_results.predict(), color = 'b',label = 'Linear (One Fire)')
ax3.plot(two_x,two_results.predict(), color = 'g',label = 'Linear (Two Fires)')

#add legend and axis labels
plt.xlabel('NDVI 2004/07/27')
plt.ylabel('NDVI 2005/07/14')
plt.title('NDVI in …
Run Code Online (Sandbox Code Playgroud)

matplotlib python-2.7 pandas

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

逗号在这个任务中做了什么?

我对Python语法不太熟悉,并且想知道是否有人可以向我解释变量match是如何for对此函数中的表达式中找到的字符串进行的:

def find_project(project_name):    
    projects = get_projects()    
    try:
        match, = (proj for proj in projects if proj["name"].strip() == project_name)
        return match
    except ValueError:
        return None
Run Code Online (Sandbox Code Playgroud)

python try-catch variable-assignment python-2.7 iterable-unpacking

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

这个赋值语句中的逗号有什么作用?

我正在查看我发现的一个有趣的示例脚本(在这个站点,最后一个示例行124),我正在努力理解particles这行中的逗号是什么:

particles, = ax.plot([], [], 'bo', ms=6)
Run Code Online (Sandbox Code Playgroud)

如果省略逗号,脚本将出现错误,但语法(似乎类似于解包语句)对我来说没有多大意义,并且像

a, = [2,3]
Run Code Online (Sandbox Code Playgroud)

失败,这似乎是反对解包理论的论据.

任何见解将不胜感激.

python tuples variable-assignment

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

Python表达式中的神秘逗号

我想知道这段代码中逗号的作用:

line, =
Run Code Online (Sandbox Code Playgroud)

以下示例显示了该行为:

import numpy as np
import matplotlib.pyplot as plt


fig = plt.figure()
ax = plt.axes(xlim=(0, 2), ylim=(-2, 2))
line, = ax.plot([], [], lw=2)
print("First:")
print(line)
print("Second:")
line = ax.plot([], [], lw=2)
print(line)
Run Code Online (Sandbox Code Playgroud)

结果:

First:
Line2D(_line0)
Second:
[<matplotlib.lines.Line2D object at 0xb137c4c>]
Run Code Online (Sandbox Code Playgroud)

当我尝试使用行变量时,它真的变得混乱,我不知道是否使用尾随逗号:

def init():
    line.set_data([], [])
    return line,
Run Code Online (Sandbox Code Playgroud)

或者有更好的方法来避免使用逗号吗?

python

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

当用于创建动画时,变量名后面的逗号在python中意味着什么?

我想知道是否有人可以向我解释 , 逗号在行中的作用

    P, = ax.plot([],[])
    Q, = ax.plot([],[])
    Qa, =ax.plot([],[])
Run Code Online (Sandbox Code Playgroud)

当我使用没有这些逗号的代码时,我收到一个错误,向我解释列表没有 set_data 属性。我整个上午都在试图破译它,但到目前为止一直无法破译。完整的代码如下。它是运行简短动画的小程序的一部分。感谢你的帮助。

    from math import cos, sin , pi
    from matplotlib import pyplot as plt
    import numpy as np
    from matplotlib import animation as anim

    theta = np.linspace(0,2*pi, 100)
    #psi = pi/3
    a = 2
    b = 1
    x = []
    y = []

    for angle in theta:
        x.append(a*cos(angle))
        y.append(b*sin(angle))

    fig = plt.figure(figsize=(8,8), dpi=80)
    plt.subplot(111)
    ax = plt.axes(xlim =(-2.5, 2.5), ylim = ( -2.5, 2.5))
    plt.plot(x,y)
    P, = …
Run Code Online (Sandbox Code Playgroud)

python animation matplotlib

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

在 Python 中,return 语句中尾随逗号的目的是什么?

在matplotlib 示例的animate_decay.py中,return语句与尾随逗号一起使用,如下所示:

return line,
Run Code Online (Sandbox Code Playgroud)

并且该函数是普通函数,而不是生成器函数。

所以,我编写了同一个函数的两个版本,一个带有尾随逗号,另一个没有:

def no_trailing_comma(x):
  return x + [10]

def trailing_comma(x):
  return x + [10],

data = [1, 2, 3]

print("With trailing comma", trailing_comma(data))
print("With no trailing comma", no_trailing_comma(data))
Run Code Online (Sandbox Code Playgroud)

无论哪种情况,输出都是相同的:

尾随逗号 [1, 2, 3, 10]

没有尾随逗号 [1, 2, 3, 10]

语言规范 (Python 3.6) 没有特别提及 return 语句中的尾随逗号。我错过了什么吗?

python return matplotlib

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