是否可以在Python程序中启动交互式Python shell?
我想使用这样一个交互式Python shell(在我的程序执行中运行)来检查一些程序内部变量.
我有3个矩阵(np数组):
A是形状(n,m); B的形状为(m,k); 和C的形状(n,k)
矩阵C只有集合{-1,0,1}中的值,它是某种类型的"指标":如果C [i,j] == 1那么我想将第i行添加到b的第j列; 如果C [i,j] ==( - 1)则减去(0不做任何事).
它可以很容易地用循环来完成,但我想知道是否有一种矢量化的方式可以做得更快?
示例代码:
C = np.array([[-1, 0, 0, 0, 1],
[ 0, 0, 0, 0, -1],
[ 0, 0, 0, 0, -1],
[-1, 0, 0, 1, 1]])
a,b = np.where(C==1)
#here a=[0,3,3] and b=[4,3,4]
A[a,:] = [[0, 1, 2, 3, 4, 5, 6],
[3, 3, 3, 3, 3, 3, 3],
[3, 3, 3, 3, 3, 3, 3]]
B[:,b] += A[a] #B is all 0.0 before
Run Code Online (Sandbox Code Playgroud)
预期结果:
array([[ 0., …
Run Code Online (Sandbox Code Playgroud) 有一段时间我尝试使用数组而不是集合,就像 Laravel 那样。
我尝试过这种方法,但没有成功:
Event::listen(StatementPrepared::class, function ($event) {
$event->statement->setFetchMode(...);
});
Run Code Online (Sandbox Code Playgroud)
正如在https://laravel.com/docs/5.4/upgrade#upgrade-5.4.0 上解释的那样,但它不起作用......
我也尝试这样做:
DB::table('users')->where([...])->take(1)->get()->toArray();
Run Code Online (Sandbox Code Playgroud)
但它正在做:
Array ( [0] => stdClass Object ( [uid] => 1 [...]) )
Run Code Online (Sandbox Code Playgroud)
我知道论坛上有更多关于它的信息,但它们都已经过时了。
谢谢
大家好,我是 Selenium 和 Python 的新手。我刚刚抓取了pagalguy 网站。我知道如何向下滚动到页面底部,但我需要的是逐步向下滚动,以便 Selenium 单击所有“阅读更多”按钮,但我不知道如何像这样逐步向下滚动,所以我像下面这样对它进行了硬编码
browser.execute_script("window.scrollTo(0,300);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(300,600);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(600,900);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(900,1200);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(1200,1500);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(1500,1800);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(1800,2100);")
browser.find_element_by_link_text("Read More...").click()
browser.execute_script("window.scrollTo(2100,2500);")
browser.find_element_by_link_text("Read More...").click()
it goes on .......
Run Code Online (Sandbox Code Playgroud)
我尝试使用 while 循环自动执行它,但它导致了错误,上面的循环有效,但我希望它短且循环,以便我可以将它用于具有不同页面长度的所有其他页面。
initial_value = 0
next_value = 300
while next_value<300000:
browser.execute_script("window.scrollTo(initial_value,next_value);")
browser.find_element_by_link_text("Read More...").click()
initial_value=next_value
next_value+=300
Run Code Online (Sandbox Code Playgroud)
JavascriptException:消息:ReferenceError:initial_value 未定义
但我已经定义了值,我想我解释了我实际上想要做什么,我想自动向下滚动并单击所有阅读更多按钮,然后我将获得全文内容
我正在将 Tkinter lib 用于 Python gui,并且我想使用循环显示 Excel 工作表中的文本,以及框架内的标签,但是,由于 StringVar 仅具有设置功能,因此我无法插入新值或连接细绳
print('Matched Tweets')
for i, element in enumerate(ranked_tweets):
for j in range(1, 8):
result.set(worksheet._get_cell((element + 1), j).value+"\n")
#result.set("\n")
Run Code Online (Sandbox Code Playgroud)
其中,结果是 stringVar,它显示在 gui 的标签内
Label1= ttk.Label(frame1, textvariable=result)
Run Code Online (Sandbox Code Playgroud)
当我运行应用程序时,它只显示一个结果,因为它每次迭代都用 set 方法覆盖变量。
我的问题是,如何使用 stringVar 列出所有文本
我正在尝试用PHP创建一个随机数生成器.它应该一次生成三(3)个数字,不重复.也就是说,3个数字不能相同.
这是我到目前为止所尝试的:
$array = [];
$A = mt_rand(1,36);
$array[0] = $A;
$B = mt_rand(1,36);
$array[1] = $B;
if(in_array($B,$array)){
$B = mt_rand(1,36);
$array[1] = $B;
}
$C = mt_rand(1,36);
$array[2] = $C;
if(in_array($C,$array)){
$C = mt_rand(1,36);
$array[2] = $C;
}
$length = count($array);
//display the array values;
for($i = 0; $i < $length; $i++){
echo ($array[$i]."<br>");
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我哪里出错了?
python ×4
php ×2
arrays ×1
excel ×1
laravel ×1
laravel-5 ×1
numpy ×1
object ×1
python-3.x ×1
random ×1
selenium ×1
string ×1
tkinter ×1
web-crawler ×1
web-scraping ×1