标签: walrus

列表推导式中的海象运算符 (python)

因此,在编码时,我真的很喜欢使用列表推导式来转换数据,并且我尽量避免使用 for 循环。现在我发现 walrus 运算符在这方面真的很方便,但是当我尝试在我的代码中使用它时,它似乎不起作用。我有以下代码,并希望在一个简单的行中将包含有关时间戳的数据的字符串转换为 datetime 对象,但出现语法错误,我不确定正确的语法是什么,有人知道我做了什么吗错误的?

from datetime import datetime

timestamps = ['30:02:17:36',
              '26:07:44:25','25:19:30:38','25:07:40:47','24:18:29:05','24:06:13:15','23:17:36:39',
              '23:00:14:52','22:07:04:33','21:15:42:20','21:04:27:53',
              '20:12:09:22','19:21:46:25']

timestamps_dt = [
    datetime(days=day,hours=hour,minutes=mins,seconds=sec) 
    for i in timestamps
    day,hour,mins,sec := i.split(':')
] 

Run Code Online (Sandbox Code Playgroud)

python list-comprehension list operator-keyword walrus

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

Python 3.8 Walrus 运算符,不带多个变量并赋值

我正在研究硒包装器。我想检查网页上的元素是否可见。selector该函数获取遵循模式的输入变量,"selector=value"例如"id=content",但也可以是 this "link_text=Hello World"。搜索函数将该字符串拆分为两个部分以搜索实际元素并将其返回以供错误处理使用。异常消息应说明选择器和值:

class KeywordFailed(Exception):
    
    def __init__(self, message):
        self.message = message
        super().__init__(self.message)

class ElementFoundButNotVisible(KeywordFailed):
    def __init__(self, element, selector):
        super().__init__("element: \"" + element + "\" with selector: \"" + selector + "\" is not visible")

class DefaultKeywords:

    browser = webdriver.Firefox()

    def selectElement(self, selector):
        selectorValue = selector.split("=")[1]
        selector = selector.split("=")[0]
        try:
            if selector == "id":
                element = self.browser.find_element_by_id(selectorValue)
            elif selector == "xpath":
                element = self.browser.find_element_by_xpath(selectorValue)
            elif selector == "link_text":
                element = self.browser.find_element_by_link_text(selectorValue)
            elif selector …
Run Code Online (Sandbox Code Playgroud)

python parameter-passing python-3.x walrus walrus-operator

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