小编KOB*_*KOB的帖子

如果内部循环内的条件为真,则几个嵌套的'for'循环继续下一次外循环迭代

我知道这是非常低效和丑陋的代码,但如果我有三个for循环,嵌套在彼此内部如下:

for x in range(0, 10):
    for y in range(x+1, 11):
       for z in range(y+1, 11):
           if ...
Run Code Online (Sandbox Code Playgroud)

我想打破两个内部循环,如果if语句为真,则继续执行外循环的下一次迭代.可以这样做吗?

python continue break nested-loops python-3.x

5
推荐指数
1
解决办法
1654
查看次数

编写我自己的 linux shell I/O 重定向 '>' 函数

我正在编写将命令输出写入给定文件名的重定向函数。

例如:

echo Hello World > hello.txt 将“Hello World”写入 hello.txt。

ls -al > file_list.txt 会将当前目录中所有文件/目录名称的列表写入 file_list.txt。

到目前为止,我的功能定义为:

int my_redirect(char **args, int count) {
    if (count == 0 || args[count + 1] == NULL) {
        printf("The redirect function must follow a command and be followed by a target filename.\n");
        return 1;
    }
    char *filename = args[count + 1];

    //Concatenates each argument into a string separated by spaces to form the command
    char *command = (char *) malloc(256);
    for (int i = …
Run Code Online (Sandbox Code Playgroud)

c linux shell io-redirection

5
推荐指数
1
解决办法
1518
查看次数

使用 Selenium Webdriver 在元素中查找元素

我正在抓取一个网站,其中包含使用 JavaScript 生成的足球比赛列表。我编写了以下行,用于创建页面上所有游戏元素的列表:

list = browser.find_elements_by_xpath('//*[@data-sportid="1"]')
Run Code Online (Sandbox Code Playgroud)

如果我然后写

for game in list:
    print game.text
Run Code Online (Sandbox Code Playgroud)

它会打印每场比赛中包含的所有文本字段(主队名称、客队名称等)

然而,循环

for game in list:
    print game.find_element_by_xpath('//*[@class="home-team"]').text
Run Code Online (Sandbox Code Playgroud)

为循环的每次迭代在页面中打印第一个主队的名称。

似乎game.find_element_by_xpath正在搜索整个页面,而不仅仅是这个game元素,因此它不断返回页面上的第一个主队名称。

如何在列表的每个项目中搜索子元素?

编辑

这是我正在处理的确切页面

python selenium webdriver web-scraping

4
推荐指数
2
解决办法
8218
查看次数

如何在FastAPI中获取原始URL?

是否可以在 FastAPI 中获取请求来源的 URL?

例如,如果我有一个在 处请求的端点,api.mysite.com/endpoint并且从 向该端点发出请求www.othersite.com,有没有办法可以在我的端点函数中检索字符串“www.othersite.com”?

python http-referer http httprequest fastapi

4
推荐指数
1
解决办法
9933
查看次数

通过引用传递向量并在基于范围的for循环中更改其值?

我试图通过执行类似于以下函数的操作来更改向量的值:

vector<int> Question2_Part3(vector<int> &v){

    for(auto elem : v){
        elem *= 2;
        cout << elem << " ";
    }
    cout << "\n" << endl;

    return v;
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?我知道在我的for循环中,它的价值elem正在发生变化.我是否可以在更改值时v使用相同的输出并仍然使用基于范围的for循环?

c++ for-loop reference

3
推荐指数
1
解决办法
389
查看次数

具有给定精度的浮动范围

我想创建一个包含[0.000,1.000]范围内所有浮点数的数组,所有浮点数都是3位小数/ 4位精度.

例如

>>> np.arange(start=0.000, stop=1.001, decimals=3)
[0.000, 0.001, ..., 0.100, 0.101, ..., 0.900, ..., 0.999, 0.000]
Run Code Online (Sandbox Code Playgroud)

可以做一些与此相关的事情吗?

python precision numpy

3
推荐指数
1
解决办法
893
查看次数

读取没有分区列名称的分区列

我们将数据存储在 s3 中,分区结构如下:

bucket/directory/table/aaaa/bb/cc/dd/
Run Code Online (Sandbox Code Playgroud)

其中aaaa是年,bb是月,cc是日,dd是小时。

如您所见,路径中没有分区键(year=aaaa, month=bb, day=cc, hour=dd).

结果,当我将表读入 Spark 时,没有yearmonthdayhour列。

无论如何,我可以将表读入 Spark 并包含分区列,而无需

  • 更改 s3 中的路径名
  • 在循环中迭代每个分区值,并将每个分区一一读取到 Spark 中(这是一个巨大的表,这需要太长的时间,并且显然不是最佳的)。

amazon-s3 partition apache-spark parquet pyspark

3
推荐指数
1
解决办法
2956
查看次数

如何检查字符串枚举中是否存在字符串?

我创建了以下枚举:

from enum import Enum

class Action(str, Enum):
    NEW_CUSTOMER = "new_customer"
    LOGIN = "login"
    BLOCK = "block"
Run Code Online (Sandbox Code Playgroud)

我也继承自str,以便我可以做以下事情:

action = "new_customer"
...
if action == Action.NEW_CUSTOMER:
    ...
Run Code Online (Sandbox Code Playgroud)

我现在希望能够检查字符串是否在此 Enum 中,例如:

if "new_customer" in Action:
    ....
Run Code Online (Sandbox Code Playgroud)

我尝试将以下方法添加到类中:

def __contains__(self, item):
    return item in [i for i in self]
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时:

print("new_customer" in [i for i in Action])
print("new_customer" in Action)
Run Code Online (Sandbox Code Playgroud)

我得到这个例外:

True
Traceback (most recent call last):
  File "/Users/kevinobrien/Documents/Projects/crazywall/utils.py", line 24, in <module>
    print("new_customer" in Action)
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/enum.py", line 310, …
Run Code Online (Sandbox Code Playgroud)

python oop enums overriding class

2
推荐指数
4
解决办法
3134
查看次数

Python 3.10 中的 Tkinter?

我正在尝试在 Python 3.10 项目中使用 Tkinter。我已经使用 Python 3.10 创建了虚拟环境并安装了 Tkinter。当我运行时,import tkinter出现以下错误。

Traceback (most recent call last):
  File "/home/xxx/yyy/main.py", line 11, in <module>
    import tkinter
  File "/usr/local/lib/python3.10/tkinter/__init__.py", line 37, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
Run Code Online (Sandbox Code Playgroud)

但是,如果我在使用 Python 3.9 的虚拟环境之外执行相同的操作,或者使用 Python 3.9 创建一个新的虚拟环境,则它可以正常运行,不会出现错误。

3.10 中是否还不支持 Tkinter,还是我可能做错了什么?

python tkinter python-3.x python-3.9 python-3.10

2
推荐指数
1
解决办法
1万
查看次数

如何按字典长度对字典列表进行排序

我有一个字典列表,其中每个字典可以有不同的长度(不同数量的键)。如何对列表进行排序以使最长的字典位于list[0]

python sorting dictionary list

1
推荐指数
1
解决办法
2304
查看次数

递归函数不按计划工作

我在Scheme中编写一个函数,它应该采用两个整数,X和Y,然后递归添加,X/Y + (X-1)/(Y-1) + ...直到其中一个数字达到0.

例如,取4和3:

4/3 + 3/2 + 2/1 = 29/6

这是我的功能无法正常工作:

(define changingFractions (lambda (X Y)
    (cond 
        ( ((> X 0) and (> Y 0)) (+ (/ X Y) (changingFunctions((- X 1) (- Y 1)))))
        ( ((= X 0) or (= Y 0)) 0)
    )
))
Run Code Online (Sandbox Code Playgroud)

编辑:我已经改变了我的代码来解决在评论中列出的问题,以及不断变化的位置orand.

(define changingFractions (lambda (X Y)
    (cond 
        ( (and (> X 0) (> Y 0)) (+ (/ X Y) (changingFunctions (- X 1) (- …
Run Code Online (Sandbox Code Playgroud)

lisp scheme sisc

1
推荐指数
1
解决办法
116
查看次数

用于多类分类的 Sigmoid 激活?

我正在从头开始实现一个简单的神经网络,仅供练习。我已经让它可以很好地处理二元分类问题的 sigmoid、tanh 和 ReLU 激活。我现在尝试用它来解决多类、互斥的问题。当然,softmax 是最好的选择。

不幸的是,我在理解如何在反向传播中实现 softmax、交叉熵损失及其导数时遇到了很多困难。即使在这里和交叉验证上问了几个问题后,我也无法得到任何好的指导。

在我尝试进一步实现 softmax 之前,是否可以以某种方式使用 sigmoid 来解决多类问题(我试图预测 n 个字符中的 1 个,这些字符被编码为 one-hot 向量)?如果是这样,哪种损失函数最好?我一直在对所有二元分类使用平方误差。

classification machine-learning softmax activation-function sigmoid

1
推荐指数
1
解决办法
8469
查看次数

递归函数在运行时崩溃

我正在编写一个涉及链表的程序.我编写了一个函数,它返回链表中的第n个节点,它以递归方式调用自身.我的程序编译并运行直到递归函数然后崩溃.这是节点的构造函数以及递归函数:

LinkedList::LinkedList():
    head(head){
        sizeInt = 0;
}

Node* LinkedList::get_nth(const int& n) const {
    Node* node = new Node();
    for(int counter = 1; counter <= n; counter++){
        node = get_nth(counter + 1);
    }
    return node;
 }
Run Code Online (Sandbox Code Playgroud)

这个功能有什么问题?如果您需要更多详细信息或代码,请告诉我们.

c++ recursion linked-list

-3
推荐指数
1
解决办法
557
查看次数