小编rus*_*ro1的帖子

Python 解压迭代器

我知道*Python中的运算符用于解包可迭代对象,例如解包列表。

不过,在实践中,我们也使用*operator来解包迭代器,但我还没有找到解释它的文档。

参见示例:

>>> a = [1,2,3]
>>> print(a)
[1, 2, 3]
Run Code Online (Sandbox Code Playgroud)

解压可迭代的

>>> print(*a)
1,2,3
Run Code Online (Sandbox Code Playgroud)

解压迭代器

>>> it = iter(a)
>>> print(*it)
1,2,3
Run Code Online (Sandbox Code Playgroud)

python iterator

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

如何减少 Tensorlfow/Keras 使用的 CPU 数量?

我正在使用 Tensorflow 2.0 的 Keras api。

在调用fit我的 Keras 模型时,它使用所有可用的 CPU。

我想限制使用的 CPU 的数量。然而,它曾经在以前版本的 Tensorflow 中工作的方式不能再使用了:

tf.keras.backend.set_session(tf.compat.v1.Session(config=tf.compat.v1.ConfigProto(
       intra_op_parallelism_threads=2, inter_op_parallelism_threads=2)))
Run Code Online (Sandbox Code Playgroud)

AttributeError:模块“tensorflow.python.keras.api._v2.keras.backend”没有属性“set_session”

我怎么能那样做?

python keras tensorflow

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

如何在 fastapi 中使用刷新令牌?

我正在尝试找到在 fastapi中使用刷新令牌的示例。fastapi文档提供了一个示例,说明如何创建具有有限生命周期的不记名令牌,但没有提供如何刷新令牌的示例。

对于flask,有flask-jwt-extended,但没有找到类似fastapi 的东西。

任何建议将不胜感激 thx!

python python-3.x jwt fastapi

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

在气流中创建子标签时访问父 dag 上下文?

我试图在 subdag 创建时访问来自父 dag 的一些 xcom 数据,我正在寻找在互联网上实现这一目标,但我没有找到任何东西。

def test(task_id):
    logging.info(f' execution of task {task_id}')


def load_subdag(parent_dag_id, child_dag_id, args):
    dag_subdag = DAG(
        dag_id='{0}.{1}'.format(parent_dag_id, child_dag_id),
        default_args=args,
        schedule_interval="@daily",
    )
    with dag_subdag:
        r = DummyOperator(task_id='random')

        for i in range(r.xcom_pull(task_ids='take_Ana', key='the_message', dag_id=parent_dag_id)):
            t = PythonOperator(
                task_id='load_subdag_{0}'.format(i),
                default_args=args,
                python_callable=print_context,
                op_kwargs={'task_id': 'load_subdag_{0}'.format(i)},
                dag=dag_subdag,
            )

    return dag_subdag

load_tasks = SubDagOperator(
        task_id='load_tasks',
        subdag=load_subdag(dag.dag_id,
                           'load_tasks', args),
        default_args=args,
    )
Run Code Online (Sandbox Code Playgroud)

我的代码出现此错误

1  | Traceback (most recent call last):
airflow_1  |   File "/usr/local/lib/python3.6/site-packages/airflow/models.py", line 374, in process_file
airflow_1  |     m = imp.load_source(mod_name, filepath) …
Run Code Online (Sandbox Code Playgroud)

airflow apache-airflow-xcom

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

如何展平具有以下内容的列表:基元数据类型、列表和生成器?

我正在尝试扁平化包含原始数据类型、列表和生成器的数十万个列表。列表和生成器都有原始数据类型,所以在展平之后我将只有原始数据类型(浮点数、整数、字符串和布尔值)

例子 :

list_1 = [1, 2, 3, 'ID45785', False, '', 2.85, [1, 2, 'ID85639', True, 1.8], (e for e in range(589, 591))]
Run Code Online (Sandbox Code Playgroud)

我的代码:

flatten = []
for item in list_1:
    if isinstance(item, (str, bool, int, float)) :
        flatten.append(item)
    else:
        flatten.extend(list(item))
Run Code Online (Sandbox Code Playgroud)

由于性能很重要,我想知道是否有更好的方法来实现扁平化?

python list generator primitive-types python-3.x

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

Highlight specific words in a sentence in python

I have some text, and I want to highlight specific words. I wrote a script to loop through the words and highlight the desired text, but how do I set this up to return it to sentences?

from termcolor import colored

text = 'left foot right foot left foot right. Feet in the day, feet at night.'
l1 = ['foot', 'feet']
for t in text.lower().split():
    if t in l1:
        print(colored(t, 'white', 'on_red'))
    else: print(t)
Run Code Online (Sandbox Code Playgroud)

In the above example, I want …

python termcolor

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

dict.pop 与 dict.get 关于默认返回值

我正在尝试找出将其None作为默认值dict.get但没有默认值(未指定默认值)的原因是什么dict.pop

{}.get('my_key')
# output: None
{}.pop('my_key')
# output: KeyError: 'my_key'
Run Code Online (Sandbox Code Playgroud)

我在想没有隐式默认值的原因dict.pop是因为你可能有带值的键,None所以为了不混淆你的键是否在字典中,隐式默认值 fordict.pop并没有那么多感觉。但话又说回来,这种解释也应该适用于dict.get并且不是:

{'my_key': None}.get('my_key')
# output: None
# but doesn't tell you if the key is truly in the dictionary or not
Run Code Online (Sandbox Code Playgroud)

python dictionary python-3.x

5
推荐指数
3
解决办法
763
查看次数

如何迭代两个列表并回收第二个列表直到第一个列表结束

基本上我有这两个列表

listone = ['a', 'b', 'c', 'd', 'e', 'f', 'j']
listtwo = ['1', '2', '3']
Run Code Online (Sandbox Code Playgroud)

我想同步迭代两个列表,并且每当最短列表结束时(在本例中为 listtwo)再次重新启动,直到 listone 完成。例子:

a 1
b 2
c 3
d 1
e 2
f 3
j 1
Run Code Online (Sandbox Code Playgroud)

像这样。

loops list python-3.x

5
推荐指数
2
解决办法
113
查看次数

for 循环不断地重新开始

所以我试图制作一个代码来获取列表中的每个单词并添加相同的单词,第一个字母是小写或大写(取决于单词)

这是代码

lost = ["de", "da", "do"] #The actual list is much bigger and with numbers but this list is small and has the same problem

for x in lost:
    if x[:1] == x[:1].lower():
        try:
            print x
            int(x[:1])
        except ValueError:
            print x
            lost.append(x[:1].upper() + x[1:])
    elif x[:1] == x[:1].upper():
        try:
            int(x[:1])
        except ValueError:
            lost.append(x[:1].lower() + x[1:])
Run Code Online (Sandbox Code Playgroud)

但是在完成所有 3 个单词之后,for 循环再次开始,因此控制台看起来像这样:

de
de
da
da
do
do
de
de
da
da
do
do
....
Run Code Online (Sandbox Code Playgroud)

为什么它做完这三个字后还不停止?

python for-loop list

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

海龟图形中的海龟方向?

如何告诉乌龟面向乌龟图形中的方向?我希望乌龟能够转动并面向一个方向,无论其原始位置如何,我怎样才能实现这一点?

python turtle-graphics python-turtle

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

在列表中解压缩迭代器的Python方法

我试图找出在列表中解包迭代器的pythonic方法是什么。

例如:

my_iterator = zip([1, 2, 3, 4], [1, 2, 3, 4])
Run Code Online (Sandbox Code Playgroud)

我提供了以下几种在列表中解压缩迭代器的方法:

1)

my_list = [*my_iterator]
Run Code Online (Sandbox Code Playgroud)

2)

my_list = [e for e in my_iterator]
Run Code Online (Sandbox Code Playgroud)

3)

my_list = list(my_iterator)
Run Code Online (Sandbox Code Playgroud)

No 1)是我最喜欢的方法,因为它减少了代码,但是我想知道这是否也是pythonic方法。或者,也许除了Python 3之外,还有另一种方法可以实现这一目标?

python list unpack python-3.x iterable-unpacking

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