草庐IT

python - 如何在 python 中获取变量的字符串表示形式?

我在python中有一个变量x。我如何从变量中找到字符串“x”。这是我的尝试:defvar(v,c):forkeyinc.keys():ifc[key]==v:returnkeydeff():x='321'print'Localvar%s=%s'%(var(x,locals()),x)x='123'print'Globalvar%s=%s'%(var(x,locals()),x)f()结果是:Globalvarx=123Localvarx=321上面的食谱似乎有点不像python。有没有更好/更短的方法来达到相同的结果? 最佳答案

python - 如何使用 Python 字符串格式将表示美分的整数转换为表示美元的 float ?

我有一个整数表示以美分表示的价格。使用Python格式字符串,如何将此值转换为保留两位小数的美元?示例:1234=>12.345=>0.05999=>9.99编辑:我应该提供一些背景知识。我将价格作为整数存储在数据库中,以确保我不会失去精度。我不想使用Decimal数据类型,因为这些值也将用于Javascript的计算中,因此使用整数最简单。我希望能够使用stringformat标记在Django模板中显示格式化值。因此,将数字除以100是行不通的。有没有办法不除法只加小数点? 最佳答案 您应该尽量避免使用float来表示金钱(数字

python - 试图剥离 b' ' from my Numpy array' s savetxt() 表示

所以我觉得这是一个非常愚蠢的问题。我从一个文件创建一个数组:A1=np.loadtxt(file,dtype='a100')我想在完成处理后将该数组写入另一个文件:np.savetxt("Test.txt",A1,fmt=%s,delimiter=',')为什么要写出b'string'?我想我明白它是以字节的形式写出来的,但对于我来说,我无法弄清楚如果没有b''怎么写出来。我知道这可能是我忽略的非常容易的事情! 最佳答案 A1作为字节串数组加载。Python3默认使用unicode字符串,因此通常在它们前面加上'b'。这对于prin

python - 如何在 Python 中将表示二进制分数的字符串转换为数字

让我们假设我们有一个表示二进制分数的字符串,例如:".1"作为十进制数,这是0.5。Python中是否有一种标准方法可以将此类字符串转换为数字类型(严格来说是二进制还是十进制并不重要)。对于整数,解决方案很简单:int("101",2)>>>5int()采用可选的第二个参数来提供基数,但float()不。我正在寻找功能上等同于(我认为)的东西:deffrac_bin_str_to_float(num):"""Assumingnumtobeastringrepresentingthefractionalpartofabinarynumberwithnointegerpart,return

python - 字典中的 NumPy 切片表示法

我想知道是否可以在python字典中存储numpy切片符号。像这样的东西:lookup={0:[:540],30:[540:1080],60:[1080:]}可以使用nativepython切片语法,例如slice(0,10,2),但我无法存储更复杂的切片。例如,多维[:,:2,:,:540]。我目前的解决方法是将值存储为元组,然后将它们解压到必要的切片中。在Python2.x中工作。 最佳答案 Python将语法[:,:2,:,:540]转换为slice对象的元组:(slice(None,None,None),slice(None

python - 具有表示错误的四舍五入 float 到最接近和正确的结果

我有一个情境当经典representationerror在Python中开始成为一个问题:我需要将它们用于Numpy中的Matrix运算,并且decimal类型尚不支持。你们都知道如果我执行111.85*111.85我会得到12510.422499999999但是如果我round(12510.422499999999,4)我可以得到正确的结果当然是12510.4225。但实际的问题是:这一轮的事情是个好主意和好做法吗?这对所有情况都有效吗?有时..999小数点的小数点位置可能更多最后,如何获得适当的小数位数以用于所有可能值的舍入? 最佳答案

python - 使用带受让人的切片表示法为列表赋值

这个问题在这里已经有了答案:Whatisthedifferencebetweensliceassignmentthatslicesthewholelistanddirectassignment?(4个答案)关闭7年前。我见过有人使用[:]来复制列表,例如:>>>a=[1,2,3,4]>>>b=a[:]>>>a[0]=5>>>printa[5,2,3,4]>>>printb[1,2,3,4]我明白了。但是,我也看到人们在分配给列表时也使用这种表示法,例如:>>>a=[1,2,3,4]>>>b=[4,5,6,7]>>>a[:]=b>>>printa[4,5,6,7]>>>printb[4,

python - 从 python 3 中的字符串中删除 unicode 表示的最简单方法?

我在python3中有一个字符串,其中有几个unicode表示,例如:t='R\\u00f3is\\u00edn'我想转换t以便在打印时它具有正确的表示形式,即:>>>print(t)Róisín但是我只是取回了原始字符串。我试过re.sub和其他一些,但我似乎无法找到一种方法来更改这些字符而不必遍历每个字符。最简单的方法是什么? 最佳答案 您想使用内置编解码器unicode_escape。如果t已经是一个bytes(8位字符串),就这么简单:>>>print(t.decode('unicode_escape'))Róisín如果t

python - 遍历/遍历任意深度的嵌套字典(字典表示目录树)

撰写本文时是Python新手。这是因为我希望用户能够从一个目录(以及任何子目录)中选择一组文件,不幸的是,Tkinter在文件对话框中选择多个文件的默认功能在Windows7上被破坏了(http://bugs.python.org/issue8010).所以我试图通过另一种方法(仍然使用Tkinter)来表示目录结构:构建目录结构的复制品,由带标签和缩进的复选框(在树中组织)组成。所以像这样的目录:\SomeRootDirectory\foo.txt\bar.txt\Stories\Horror\scary.txt\Trash\notscary.txt\Cyberpunk\Poems\

python - 我如何表示此正则表达式不会出现 "bad character range"错误?

有更好的方法吗?$pythonPython2.7.9(default,Jul162015,14:54:10)[GCC4.1.220080704(RedHat4.1.2-55)]onlinux2Type"help","copyright","credits"or"license"formoreinformation.>>>importre>>>re.sub(u'[\U0001d300-\U0001d356]',"","")Traceback(mostrecentcalllast):File"",line1,inFile"/home/fast/services/lib/python2.7/