是否有可能在python中有一个没有索引和项目的for循环?我有以下内容:
list_1 = []
for i in range(5):
list_1.append(3)
Run Code Online (Sandbox Code Playgroud)
上面的代码工作正常,但根据pep8编码指南并不好.它说:"未使用的变量'我'".
是否有办法在没有索引和项目的情况下进行for循环(没有while循环)?或者我应该忽略编码指南?
我有一个用OMEdit制作的OpenModelica模型.为了得到一个具体的例子,我设计了以下内容:

现在我想用Python运行模型.我可以通过使用OMPython来做到这一点.导入OMPython并加载文件后,我使用以下命令运行模拟:
result = OMPython.execute("simulate(myGain,numberOfIntervals = 2,outputFormat = \"mat \")")
现在运行模拟并将结果写入文件.
现在我想运行相同的模型,但是常量块的参数不同.
我怎样才能做到这一点?
由于参数被编译到模型中,因此无法对其进行更改.所以我需要的是这样的模型:

是否可以从Python调用模型并将变量"a"设置为特定值?
使用命令OMPython.execute("simulate(...)")我可以指定一些环境变量,如"numberOfIntervals"或"outputFormat",但不能更多.
我需要比较matlab中字符串的最后一个字符.本地我会做以下事情:
string = 'foobar';
len_string = length(string);
if len_str_2 >= 3
str_suffix = str_2(len_str_2 - 2:len_str_2);
strcmp('bar', str_suffix)
end
Run Code Online (Sandbox Code Playgroud)
有更简单的方法吗?随着strncmp我只能比较第一个n字符.
这个问题/答案(成员函数中的Python调用构造函数)说可以从成员函数中调用构造函数.
我怎么做?
风格好吗?
我用以下代码尝试了它:
class SomeClass(object):
def __init__(self, field):
self.field = field
def build_new(self):
self = SomeClass(True)
def main():
inst = SomeClass(False)
inst.build_new()
print(inst.field)
if __name__ == '__main__':
main()
Run Code Online (Sandbox Code Playgroud)
作为输出我得到:错误
既然我打电话的build_new()方法inst.field应该True与否?
我有一个 Python 列表,如下所示:
data = [[1, 2, 3], [10, 20, 30]]
Run Code Online (Sandbox Code Playgroud)
现在我需要重组列表,使其看起来像这样:
data_new = [[1, 10], [2, 20], [3, 30]]
Run Code Online (Sandbox Code Playgroud)
我设法通过使用两个 for 循环来解决这个问题:
data = [[1, 2, 3], [10, 20, 30]]
len_data = len(data)
len_dat = len(data[0])
data_new = []
for index_dat in xrange(len_dat):
dat = []
for index_data in xrange(len_data):
dat.append(data[index_data][index_dat])
data_new.append(dat)
print data_new
Run Code Online (Sandbox Code Playgroud)
最简单/最Pythonic的方法是什么?对我来说,性能不是问题,但拥有良好的性能总是好的。最好有一种解决方案用于就地排序,另一种解决方案是通过创建新列表来实现。
python ×4
constructor ×1
for-loop ×1
list ×1
matlab ×1
modelica ×1
openmodelica ×1
pep8 ×1
python-2.7 ×1
string ×1