社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

oda

oda 最近创建的主题
oda 最近回复了
3 年前
回复了 oda 创建的主题 » Python如何链接2个列表?

more-itertools 有这个吗 grouper 可能对该任务有用的函数。我 replicate it 在这里:

from itertools import zip_longest
def grouper(iterable, n, *, incomplete='fill', fillvalue=None):
    "Collect data into non-overlapping fixed-length chunks or blocks"
    # grouper('ABCDEFG', 3, fillvalue='x') --> ABC DEF Gxx
    # grouper('ABCDEFG', 3, incomplete='strict') --> ABC DEF ValueError
    # grouper('ABCDEFG', 3, incomplete='ignore') --> ABC DEF
    args = [iter(iterable)] * n
    if incomplete == 'fill':
        return zip_longest(*args, fillvalue=fillvalue)
    if incomplete == 'strict':
        return zip(*args, strict=True)
    if incomplete == 'ignore':
        return zip(*args)
    else:
        raise ValueError('Expected fill, strict, or ignore')

此功能与 zip ( documentation )以如下所示的方式返回元组的迭代器,其中元组的第一个元素是来自 b 元组的第二个元素是一个由三个元素组成的元组,这些元素取自 a .对于本例,返回的迭代器 拉链 链接 1.9 关于 A. , 1.7 接下来的三个要素 A. 等等

a = [902920,28393892,93993992,93938939929,929393993928,38982933939393, 883383938393]
b = [1.9, 1.7, 1.6]

c = zip(b, grouper(a, 3))

for item in c:
    print(item)

输出

(1.9, (902920, 28393892, 93993992))
(1.7, (93938939929, 929393993928, 38982933939393))
(1.6, (883383938393, None, None))

这个 石斑鱼 函数提供了额外的功能。默认情况下,如果长文档中没有足够的元素 A. 列表要填充一个3元组,空元素将被 None .所以你可以设定 fillvalue 您是否希望获得除以下内容以外的值 没有一个 或者,您甚至可以声明,您不希望像本例中那样使用不完整的元组

c = zip(b, grouper(a, 3, incomplete = 'ignore'))

for item in c:
    print(item)

输出

(1.9, (902920, 28393892, 93993992))
(1.7, (93938939929, 929393993928, 38982933939393))
3 年前
回复了 oda 创建的主题 » 如何在python中进行树遍历

self 不是 None . 自己 指类的一个实例。 self.left 是您设置为的实例属性 没有一个 在你的 __init__() 方法创建实例时。因为 自己左边 没有一个 那物体呢 没有一个 没有 inOrder() AttributeError .在你的班级定义中, 自己 (指类的实例)是否具有 顺序() 方法,但它是属性 自己左边 (指 没有一个 )但事实并非如此。

3 年前
回复了 oda 创建的主题 » python中计算事物数量的自然方法是什么?

如果有一个数组,{3,-1,2,5,-7},那么 数组的元素?是五行还是四行?电话号码是多少 在元素0或1中,当存在{3}时,使用单个 要素

名单

a = []

是一个空列表,包含0个元素。

名单

a = [1]

是一个非空列表,有1个元素。第一个也是唯一一个元素可以通过 a[0] .

名单

a = [1, 2, 3, 4, 5] 

是一个非空列表,包含5个元素。第一个元素通过 a[0] ,第二个 a[1] ,第三个 a[2] , ..., 第五个 a[4] .

在python中,我了解到从0开始索引集是很自然的。 如果有一个数组,第一个元素不是第一个,而是第一个 第0个元素。

第一个元素就是第一个元素。在计算机科学中(不仅仅是Python),我们经常使用 零基索引

一般来说 零基索引 ,给定一些非空序列

第n个元素被赋予索引n-1

当我们想要访问 a ,我们知道第三个元素被分配了索引 2 所以我们写 a[2] 访问它。

希望这有帮助!

3 年前
回复了 oda 创建的主题 » Python——从列表中获取最大年龄。文件

这管用!我希望有帮助。如果有任何问题,请告诉我(我必须很快完成这项工作,因为我很忙,但我今天晚些时候会回来改进这项工作,并添加额外的解释)。

这种方法基本上假定 Hobby 里面没有数字。

import csv

max_age = 0
with open("iv.txt", encoding = "utf8") as f:
    spamreader = csv.reader(f, delimiter=',')
    # skip first row
    next(spamreader)
    for row in spamreader:
        for i in reversed(row):
            try:
                i = int(i)
                break
            except ValueError:
                pass
        print(i)
        if i > max_age:
            max_age = i

print(f"\nMax age from file: {max_age}")

输出:

18
17
20

Max age from file: 20
3 年前
回复了 oda 创建的主题 » 如何在python中使用“removeIf”?[重复]

python list 对象没有与具有相同功能的内置方法 removeif 在爪哇。

只使用Python代码/内置程序的最佳选择可能是

my_list = [3, 8, 2, 9] 
my_list = [elem for elem in my_list if elem > 5] 

我知道这并不能解决你对速度的担忧。但是,如果您想使用Python 列表 不需要编写C代码来构造 移除 方法 列表 对象(或变体),这是不可能的。

在…上 numpy (主要用C写)你可以

import numpy as np 

a = np.array([3, 8, 2, 9])
a = a[(a > 5)] 

我发现对大型数组/列表的理解速度明显快于对Python列表的理解(注:希望添加更多)。