我正在尝试使用纯python将两个矩阵相乘.输入(X1是3x3,Xt是3x2):
X1 = [[1.0016, 0.0, -16.0514],
[0.0, 10000.0, -40000.0],
[-16.0514, -40000.0, 160513.6437]]
Xt = [(1.0, 1.0),
(0.0, 0.25),
(0.0, 0.0625)]
Run Code Online (Sandbox Code Playgroud)
其中Xt是另一个矩阵的zip转置.现在这里是代码:
def matrixmult (A, B):
C = [[0 for row in range(len(A))] for col in range(len(B[0]))]
for i in range(len(A)):
for j in range(len(B[0])):
for k in range(len(B)):
C[i][j] += A[i][k]*B[k][j]
return C
Run Code Online (Sandbox Code Playgroud)
python给我的错误是:IndexError:列表索引超出范围.现在我不确定Xt是否被识别为矩阵并且仍然是列表对象,但从技术上讲这应该可行.
如果我定义以下函数以返回一个函数:
def foo(): (Int*) => String = { is =>
is.map(_.toString).mkString(", ")
}
Run Code Online (Sandbox Code Playgroud)
然后尝试引用它:
val bar = foo()
bar(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)
我收到编译器错误
适用于方法的参数(3)过多...
但是当我显式定义引用类型时,它可以很好地编译:
val bar2: (Int*) => String = foo()
bar2(4, 5, 6)
Run Code Online (Sandbox Code Playgroud)
有什么方法可以定义函数foo()而无需此显式引用类型?
我正在使用knockoutjs,我正在尝试从JSON数据填充ViewModel实例.根据knockoutjs文档,我可以使用此声明:
ko.mapping.fromJS(data, viewModel);
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
var pledgeVM=function(){
this.name=ko.observable();
this.Assets=ko.observableArray([]);
this.StartEdit=function(assetModel){
};
};
pledge = {"name":"Moses","Assets":[{"CityId":13,"commetns":null},{"CityId":14,"commetns":null}]};
var pledgeVMinstance=new pledgeVM();
ko.mapping.fromJS(pledge,pledgeVMinstance);
Run Code Online (Sandbox Code Playgroud)
由于某种原因,数据未填充(pledgeVMinstance.name()未定义),除非我将语句更改为:
ko.mapping.fromJS(pledge,{},pledgeVMinstance);
Run Code Online (Sandbox Code Playgroud)
可能有人可以解释我为什么会这样.
谢谢
我尝试总结嵌套元素的列表
例如,数字= [1,3,5,6,[7,8]],总和= 30
我写了以下代码
def nested_sum(L):
sum=0
for i in range(len(L)):
if (len(L[i])>1):
sum=sum+nested_sum(L[i])
else:
sum=sum+L[i]
return sum
Run Code Online (Sandbox Code Playgroud)
上面的代码给出了以下错误:'int'类型的对象没有len()我也试过len([L [i]]),仍然无法正常工作
有人可以帮忙吗?顺便说一下,它是Python 3.3
我有一个 Python 代码来抓取亚马逊产品列表。我已经设置了代理和标题。我sleep()每次爬前也有。但是,我仍然无法获取数据。我收到的消息是:
要讨论自动访问亚马逊数据,请联系 api-services-support@amazon.com
我的部分代码是:
url = "https://www.amazon.com/Baby-Girls-Shoes/b/ref=sv_sl_fl_7239798011?ie=UTF8&node=7239798011"
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0'}
proxies_list = ["128.199.109.241:8080","113.53.230.195:3128","125.141.200.53:80","125.141.200.14:80","128.199.200.112:138","149.56.123.99:3128","128.199.200.112:80","125.141.200.39:80","134.213.29.202:4444"]
proxies = {'https': random.choice(proxies_list)}
time.sleep(0.5 * random.random())
r = requests.get(url, headers, proxies=proxies)
page_html = r.content
print page_html
Run Code Online (Sandbox Code Playgroud)
这个问题不是 Stackoverflow 上其他问题的重复,因为其他人建议使用代理、标题和延迟(睡眠),而我已经完成了所有这些。即使按照他们的建议,我也无法刮擦。
该代码最初可以工作,但在抓取几页后停止工作。
我试图在chart.js中显示四个带有图例的水平条。但是图例文字显示的每种情况都不确定。如何在chart.js中定义或声明图例的文本?
我的html代码:
<div class="chart bar-chart dark">
<h3 class="title">Name</h3>
<p class="tagline">chocolates</p>
<canvas height="400" id="barChartHDark"></canvas>
</div>
<div class="chart radar-chart light">
<h3 class="title">Bauxite</h3>
<p class="tagline">P&B Dispatch</p>
<canvas height="400" id="radarChartLight"></canvas>
</div>
Run Code Online (Sandbox Code Playgroud)
我的JavaScript代码:
Charts.prototype.initBarHorizontal = function () {
var ctxD = $("#barChartHDark"), chartData = {
type: 'horizontalBar',
data: {
labels: ["Today", "Last week", "Last month", "Last Year"],
datasets: [{
data: [7, 59, 68, 26],
backgroundColor: this.colors[0],
hoverBackgroundColor: this.convertHex(this.colors[0], 70),
},
{
data: [, 23, 44, 30],
backgroundColor: this.colors[1],
hoverBackgroundColor: this.convertHex(this.colors[1], 70),
},
{
data: [, …Run Code Online (Sandbox Code Playgroud) There is this new programming language V-lang being created by Alex Medvednikov. I'm using V-lang version 0.1.11 currently. I can declare an array in V-lang like below :
a := [1,2,3]
// or, mut a := [1,2,3]
Run Code Online (Sandbox Code Playgroud)
I tried to get the last item of this array like :
>>> a := [1,2,3]
>>> println(a[-1])
V panic: array index out of range: -1/3
>>> println(a[a.len -1])
V panic: array index out of range: -1/3
Run Code Online (Sandbox Code Playgroud)
Each time, it shows :
V …
我有这个列表列表:
cont_det = [['TASU 117000 0', "TGHU 759933 - 0", 'CSQU3054383', 'BMOU 126 780-0', "HALU 2014 13 3"], ['40HS'], ['Ha2ardous Materials', 'Arm5 Maehinery']]
Run Code Online (Sandbox Code Playgroud)
实际上cont_det是一个巨大的列表,其中包含许多子列表,每个子列表的长度不规则。这只是用于演示的示例案例。我想获得以下输出:
[['TASU 117000 0', '40HS', 'Ha2ardous Materials'],
['TGHU 759933 - 0', '40HS', 'Arm5 Maehinery'],
['CSQU3054383', '40HS', 'Ha2ardous Materials'],
['BMOU 126 780-0', '40HS', 'Ha2ardous Materials'],
['HALU 2014 13 3', '40HS', 'Ha2ardous Materials']]
Run Code Online (Sandbox Code Playgroud)
这背后的逻辑是zip_longest列表列表,但如果有任何子列表的长度小于子列表所有长度的最大值(第一个子列表此处为 5),则代替默认值fillvalue=None取该子列表的第一项 - 如在第二个子列表的情况下所见,所有反映的填充值都相同,对于第三个,最后三个由第一个值填充。
我用这段代码得到了结果:
from itertools import zip_longest as zilo
from more_itertools import padded as pad
max_ = len(max(cont_det, …Run Code Online (Sandbox Code Playgroud) 我正在尝试为 QGIS 3(我使用的是 Windows 10)制作一个插件,但在它显示此消息之前的一步创建之前:
"The resource compiler pyrcc5 was not found in your path. You'll have to manually compile the resources .qrc file with pyrcc5 before installing your plugin".
Run Code Online (Sandbox Code Playgroud)
这是一个挫折,因为在 pyqgis 中设置插件路径后,它会部署,但插件说它找不到类模块。
我已经设法制作了一个插件,但是在调用它的classFactory()方法时它说错误,因此我认为这是因为我未能编译 pyrcc5。
'remove_feature'由于调用其classFactory()方法时出错,选择它无法加载插件后会出现此错误:
ModuleNotFoundError: No module named 'remove_feature.resources'
Traceback (most recent call last):
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis-ltr/./python\qgis\utils.py", line 335, in startPlugin
plugins[packageName] = package.classFactory(iface)
File "C:/Users/Arnold Kilaini M/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\remove_feature\__init__.py", line 35, in classFactory
from .Remove_feature import Remove_feature
File "C:/PROGRA~1/QGIS3~1.4/apps/qgis-ltr/./python\qgis\utils.py", line 672, in _import
mod = …Run Code Online (Sandbox Code Playgroud) 我想在没有登录 Python 服务器的情况下发送电子邮件。我正在使用 Python 3.6。我尝试了一些代码,但收到一个错误。这是我的代码:
import smtplib
smtpServer='smtp.yourdomain.com'
fromAddr='from@Address.com'
toAddr='to@Address.com'
text= "This is a test of sending email from within Python."
server = smtplib.SMTP(smtpServer)
server.set_debuglevel(1)
server.sendmail(fromAddr, toAddr, text)
server.quit()
Run Code Online (Sandbox Code Playgroud)
我希望应该在不询问用户 ID 和密码的情况下发送邮件但收到错误:
"smtplib.SMTPSenderRefused: (530, b'5.7.1 客户端未通过身份验证', 'from@Address.com')"
python ×5
list ×2
python-3.x ×2
arrays ×1
chart.js ×1
javascript ×1
knockout.js ×1
plugins ×1
python-2.7 ×1
python-3.3 ×1
scala ×1
smtplib ×1
vlang ×1
web-scraping ×1