小编mgi*_*son的帖子

Python Tkinter:当带有空格的字符串插入Listbox时,会出现括号

出于某种原因,在列表框中,字符串周围似乎有一个以空格结尾的括号.

from Tkinter import *

def update_listbox():   
    for i in dic:
        listbox.insert(END, (i, dic[i][0], dic[i][1], dic[i][2]))

dic = {}
dic['Foods'] = ['apple','grape','pizza']
dic['Drinks      '] = ['milk','soda','jucie'] # How do i make the {} not show up but keep the spaces?

root=Tk()
listbox = Listbox(root)
button = Button(root,text='push',command=update_listbox)
button.pack()
listbox.pack()


root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python string listbox tkinter listboxitem

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

绘制FFTW gnuplot

我怎么能在Gnuplot中制作一个如下所示的情节:http://www.fftw.org/accuracy/G4-1.06GHz-gcc3.4/,即有一个明确的x轴?我有这样的数据集:

2   1066.7
4   3122.9
8   4715.2
16  5538.5
32  5757.3
64  5891.4
128 5398.3
256 5280.2
512 5178.4
1024    4048.6
2048    4383
4096    3794.4
Run Code Online (Sandbox Code Playgroud)

每次我绘制时,x轴都是线性刻度,所以我的所有值都是相对于y轴聚集的.我希望每个x值的间距相等,就像在链接图中一样.谢谢.

gnuplot

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

如何在python中使用csv模块导入带有分隔符的文件?

我想这是一个非常简单的问题,但直到现在我都没有......我有一个像这样的列的文件:

1 2  3 4  5   3
6 7 -8 9  0   5
4 8 -4 6 -7   8
Run Code Online (Sandbox Code Playgroud)

我在python中有这个代码:

import csv

MyValues = [] #create an empty list
values = csv.reader(open('myfile', 'rb'), delimiter=' ')
for row in values:
    MyValues.append(row[5] if len(row)>4 else None)
print MyValues
Run Code Online (Sandbox Code Playgroud)

问题是分隔符不仅是一个空格,有时是两个或三个空格.直到现在我无法修复,甚至使用嗅探器或方言例程...有人知道如何导入列?

python csv import list delimiter

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

2个列表的Python组合

pythonic计算两个列表的所有产品组合的方法是什么.因此,给定两个长度列表,n我想返回2^n包含产品的长度列表.

类似list(itertools.product(on,off))但结果应该使用所有四个要素不仅对组合,如:

[(1.05, 5.53), (1.05, 3.12), (1.05, 3.75), (1.05, 4.75), (1.5, 5.53), (1.5, 3.12), (1.5, 3.75), (1.5, 4.75), (2.1, 5.53), (2.1, 3.12), (2.1, 3.75), (2.1, 4.75), (1.7, 5.53), (1.7, 3.12), (1.7, 3.75), (1.7, 4.75)]
Run Code Online (Sandbox Code Playgroud)

所以更像这样:

off = [5.53,3.12,3.75,4.75]
on = [1.05,1.5,2.1,1.7]

# calculate combinations
x = combinations(on,off)

# Where... 
# x[0] = off[0] * off[1] * off[2] * off[3] i.e
# x[0] = 5.53 * 3.12 * 3.75 * 4.75
#
# x[1] …
Run Code Online (Sandbox Code Playgroud)

python optimization performance

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

将列表转换为元组,同时转换列表中的列表

在Python中将列表转换为元组的简单方法是:

tuple1=tuple(list1)
Run Code Online (Sandbox Code Playgroud)

但是如果list1包含一个或多个列表,它们将保持不变.有没有办法可以转换它们?例如

list1=[1,3,'abc',[3,4,5]]
Run Code Online (Sandbox Code Playgroud)

去:

tuple1=(1,3,'abc',(3,4,5))
Run Code Online (Sandbox Code Playgroud)

python tuples list type-conversion

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

为什么打开终端窗口时显示-bash:PATH:命令未显示?

我安装了EPD Free 7.3.2,它运行正常,直到我想修改PATH指向我的Python脚本所在的位置.我放弃了它并恢复到我原来的.bash_profile文件.

# Setting PATH for EPD_free-7.3-2
# The orginal version is saved in .bash_profile.pysave
PATH = "/Library/Frameworks/Python.framework/Versions/Current/bin:${PATH}"
export PATH
Run Code Online (Sandbox Code Playgroud)

启动终端时,我得到了这个:

Last login: Thu Jan  3 08:50:20 on ttys000
-bash: PATH: command not found
Run Code Online (Sandbox Code Playgroud)

但是,我能够运行iPython以及EPD附带的所有lib没有问题.有人知道"PATH:命令未找到"的问题是什么?

osx-lion epd-python

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

Python如何编辑存储在列表中的namedtuple中的数据?

import struct
from collections import namedtuple

StructPageNum = namedtuple('FDResult', ['DeviceID', 'PageNum','PicSize','PicData'])
PageNumList = []

Node = StructPageNum(DeviceID='NR09', PageNum=[],PicSize=100,PicData='')
PageNumList.append(Node)

PageNumList[0].PicData = 'hello' //how to do at here?
Run Code Online (Sandbox Code Playgroud)

如何修改PicData的值?

python arrays struct namedtuple

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

如何在字符串中拆分大写字母?

s = "HiMyNameIsBob"

letters = ("A","B", "C", "D"...)

for char in s:
    if s.find(letters) is True:
Run Code Online (Sandbox Code Playgroud)

我想要结果

"Hi My Name Is Bob"
Run Code Online (Sandbox Code Playgroud)

我想避免使用正则表达式方法

python

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

在列表python itertools列表中标识零

我看起来像下面这样:

yyy=[(2.0, 3.4, 3.75), (2.0, 3.4, 0.0), (2.0, 3.4, 0.0), (2.0, 3.4, 3.5), (2.0, 3.4, 0.0)]
Run Code Online (Sandbox Code Playgroud)

我想要做的是确定任何子列表中是否存在0.0(true或false).所以,我遵循itertools,但我不确定应该如何构造逻辑.

from itertools import *
selectors = [x is 0 for x in yyy]
#[False, False, False, False, False]
Run Code Online (Sandbox Code Playgroud)

显然,我的上面的sytax似乎不对 - 我想知道是否有人能指出我正确的语法方向.

python python-itertools

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

从轴获取QuadMesh对象(或图)

我正在尝试绘制一个图,其中所有子图都共享类似于此答案的色标。我遇到的问题是在脚本中,我正在调用一个函数,该函数创建QuadMesh(从生成ax.pcolormesh)实例并返回与之关联的FigureAxes实例。有什么方法可以从Axes实例(或Figure实例)获取QuadMesh实例的句柄?

import matplotlib.pyplot as plt
import numpy as np

def foo(subplot):
    data = np.random.random((100,100))
    x,y = np.meshgrid(np.arange(101),np.arange(101))
    fig = plt.gcf()
    ax = fig.add_subplot(subplot)
    quadmesh = ax.pcolormesh(x,y,data)
    return fig,ax

fig = plt.figure()
f,a = foo(221)
f,a = foo(222)
f,a = foo(223)
f,a = foo(224)
fig.subplots_adjust(right=0.8)
cbar_ax = fig.add_axes([0.85,0.15,0.05,0.7])
#fig.colorbar(magic_get_quadmesh,cax=cbar_ax)
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib

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