我有一个项目列表,如下所示:
2.4 -2.0 4.3
-6.0 12.5 1.0
Run Code Online (Sandbox Code Playgroud)
我想要删除所有这些空格并用","(逗号)替换它们,除了第一个数字前面的空格(它们应该被删除(空格)而不是用任何东西替换).所以上面的字符串项应该如此,更换后:
2.4,-2.0,4.3
-6.0,12.5,1.0
Run Code Online (Sandbox Code Playgroud)
不是这样的:
,2.4,-2.0,4.3
,-6.0,12.5,1.0
Run Code Online (Sandbox Code Playgroud)
以下代码的作用如下:
newStrings = []
for s in strings:
newStrings.append(re.sub('\s+', ',', s))
Run Code Online (Sandbox Code Playgroud)
应该使用re.sub的正则表达式来实现它?谢谢.
我有一个整数列表,如下所示:
unculledlist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
Run Code Online (Sandbox Code Playgroud)
我想剔除这个列表中的值,所以它看起来像这样:
culledlist = [0, 2, 4, 10, 12, 14, 20, 22, 24]
Run Code Online (Sandbox Code Playgroud)
但我想通过使用列表推导来做到这一点.
这是我试图剔除列表值的图形预览.如果我将列表值排列成行和列,则更容易理解.但这只是视觉上的.我不需要嵌套列表:

我可以通过使用两个嵌套循环来完成它:
unculledlist = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29] …Run Code Online (Sandbox Code Playgroud) 我正在尝试将特定文件下载到我的硬盘上的特定文件夹中.我正在使用IronPython 2.7和urllib模块.
我尝试使用以下代码下载文件:
import urllib
response = urllib.urlretrieve(someURL, 'C:/someFolder')
html = response.read()
response.close()
Run Code Online (Sandbox Code Playgroud)
但是当运行上层代码时,我收到以下错误消息:
Runtime error (IOException): Access to the path 'D:\someFolder' is denied.
Traceback:
line 91, in urlretrieve, "C:\Program Files\IronPython\Lib\urllib.py"
line 9, in script
line 241, in retrieve, "C:\Program Files\IronPython\Lib\urllib.py"
Run Code Online (Sandbox Code Playgroud)
我尝试输入我的"someFolder"的属性,发现"只读"已被检查.我取消选中它,单击"应用"和"确定".但是当我再次回来时,再次检查"只读".无论我多少次取消选中并确认,"sameFolder"仍然是"只读".这是我收到错误消息的原因吗?
热修复吗?我试图移动"someFolder"到其他分区,但还是出于某种原因,我不能取消选中"只读"属性(我可以,但它只是不断回来).
感谢您的答复.
我忘了说我使用Windows XP 32位.
编辑:我检查了"someFolder"是否可写,确实如此.以下代码:
print os.access("C:/someFolder", os.W_OK)
Run Code Online (Sandbox Code Playgroud)
回报:True.
我有以下 Python 2.7 代码:
listOfLists = []
for l1_index, l1 in enumerate(L1):
list = []
for l2 in L2:
for l3_index,l3 in enumerate(L3):
if (L4[l2-1] == l3):
value = L5[l2-1] * l1[l3_index]
list.append(value)
break
listOfLists.append(list)
Run Code Online (Sandbox Code Playgroud)
L1,L2,L3,L4,L5 列表为:
L1 = [[0.60, 0.95, 0.38, 1.02, 0.29, 0.43], [0.40, 0.09, 0.87, 0.85, 0.70, 0.46], [0.67, 0.91, 0.66, 0.79, 0.86, 0.06], [0.59, 1.81, 0.05, 1.88, 0.20, 0.48], [0.64, 0.34, 0.37, 1.39, 0.56, 0.27], [0.56, 0.34, 0.68, 2.79, 0.18, 0.42], [0.42, 1.67, 0.04, 0.44, 0.25, …Run Code Online (Sandbox Code Playgroud) 我前段时间开始学习 python 类,当谈到在类中使用 self.variables 时,我有一些不明白的地方。我用谷歌搜索,但找不到答案。我不是程序员,只是一个 python 爱好者。这是一个简单类的示例,有两种定义它的方法:
1)第一种方式:
class Testclass:
def __init__(self, a,b,c):
self.a = a
self.b = b
self.c = c
def firstMethod(self):
self.d = self.a + 1
self.e = self.b + 2
def secondMethod(self):
self.f = self.c + 3
def addMethod(self):
return self.d + self.e + self.f
myclass = Testclass(10,20,30)
myclass.firstMethod()
myclass.secondMethod()
addition = myclass.addMethod()
Run Code Online (Sandbox Code Playgroud)
2)第二种方式:
class Testclass:
def __init__(self, a,b,c):
self.a = a
self.b = b
self.c = c
def firstMethod(self):
d = self.a + 1
e …Run Code Online (Sandbox Code Playgroud) 我是python初学者,没有以前的编程知识.我为这个话题的名字道歉,但我根本无法做出更好的话题.这就是我想要的:
letter = "w" # search for this letter in the list bellow
listL = ["z","b","y","a","c"]
for let in listL:
if let == letter:
print "found it"
break
else:
if let == listL[-1]:
print "nope can't find it"
continue
Run Code Online (Sandbox Code Playgroud)
我有一个字母列表,我想在该列表中搜索特定的字母.如果我找到了这封信,那么一切都很好,for循环应该停止.如果我没有找到它,我希望循环停止当前迭代,并尝试使用列表中的下一个字母.如果列表中的单个字母没有该特定字母,那么它应该打印"nope找不到它".
上面的代码工作.但我想知道这是否可以写得有点清楚?显然,我并不是指"先进",而是学者的方式,一种来自书本的方式.
谢谢.
我是Python初学者,没有任何编程经验.如果这个问题听起来太蹩脚,我会提前道歉,但我有些困惑.它与将特定列表(l2)添加到空列表(l1)有关.我想要做的是在每次迭代中增加每个"l2"元素的值,然后将其添加到l2列表中.这是代码:
l1 = []
l2 = [0,1,2,3]
for i in range(3):
l2[0] = l2[0] + 1
l2[1] = l2[1] + 1
l2[2] = l2[2] + 1
l2[3] = l2[3] + 1
print l2
l1.append(l2)
print l1
Run Code Online (Sandbox Code Playgroud)
这是我得到的打印结果:
[1, 2, 3, 4]
[2, 3, 4, 5]
[3, 4, 5, 6]
[[3, 4, 5, 6], [3, 4, 5, 6], [3, 4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)
为什么l2列表看起来不像这样:
[[1, 2, 3, 4], [2, 3, 4, 5], [3, 4, 5, 6]]
Run Code Online (Sandbox Code Playgroud)
?感谢您的答复.
我去了一段代码,如下所示:
while numpy.max(abs(A - B)) > 0.01:
Run Code Online (Sandbox Code Playgroud)
我试图numpy.max用一些常规的Python(数学?)函数替换它,但我找不到究竟做了什么numpy.max.
我试过谷歌搜索,但我只发现:
numpy.maximum这与numpy.max我想的不一样.
并且:
numpy.amax这也不是我需要的.
有谁知道如何将这个numpy.max功能复制到一些标准的python中?
编辑:我使用的是Python 2.7
我是 python 的初学者,目前正在努力解决一些问题:
我想在一个字符串中进行一些更改。是否可以使用单个星号 (*) 作为几个字符的替代小丑?例如我有一个字符串:
string1 = "The new year is about to become an old year"
Run Code Online (Sandbox Code Playgroud)
我想使用这种模式来查找:
find:
*year*year*
replace it with:
*century*one*
Run Code Online (Sandbox Code Playgroud)
这将导致:
string1 = "The new century is about to become an old one"
Run Code Online (Sandbox Code Playgroud)
意思是“*”字符将替换“year”和“year”单词之间和之前的所有字符。那可能吗?
我是 python 初学者(python 2.7 和 ironpython 2.7)而不是程序员。时不时,我会发现一个像这样开头的代码:
import clr
clr.AddReferenceToFile("nameOfmodule")
from nameOfmodule import someMethod
Run Code Online (Sandbox Code Playgroud)
这有什么意义?我们不能只使用:
from nameOfmodule import someMethod
Run Code Online (Sandbox Code Playgroud)
?
我试过谷歌搜索,但还没有真正理解解释。
感谢您的答复。
编辑:混淆不在“from nameOfmodule import someMethod”和“import nameOfmodule.someMethod”之间。我编辑了代码,现在它更有意义了。
我试图将fortran 77代码复制到C#.这是引起麻烦的线(至少我认为):
real acl,c(0:10)
Run Code Online (Sandbox Code Playgroud)
如何c在C#中的某些方法下声明这个新列表?像这样:
float acl;
float[] c = new float[0:10];
Run Code Online (Sandbox Code Playgroud)
?
感谢您的答复.