小编Die*_*ter的帖子

Beautifulsoup:.find()和.select() - python 3.xx之间有区别吗?

我有一个简单的问题:

当您使用Beautiful Soup刮取网站的某个部分时,您可以使用data.find()/ data.findAll()或data.select()

现在的问题是..find().select()方法之间是否存在显着差异?(例如,在表现或灵活性方面,或......)

还是他们一样?

亲切的问候

python beautifulsoup python-3.x

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

8
推荐指数
2
解决办法
1404
查看次数

Tensorflow:读取可变长度数据,通过数据集(tfrecord)

最好的事物

我想读取一些TF记录数据。
这有效,但仅适用于固定长度数据,但现在我想对可变长度数据VarLenFeature做同样的事情

def load_tfrecord_fixed(serialized_example):

    context_features = {
        'length':tf.FixedLenFeature([],dtype=tf.int64),
        'type':tf.FixedLenFeature([],dtype=tf.string)
    }

    sequence_features = {
        "values":tf.FixedLenSequenceFeature([], dtype=tf.int64)
    }


    context_parsed, sequence_parsed = tf.parse_single_sequence_example(
        serialized=serialized_example,
        context_features=context_features,
        sequence_features=sequence_features
    )


    return context_parsed,sequence_parsed
Run Code Online (Sandbox Code Playgroud)

   tf.reset_default_graph()



    with tf.Session() as sess:

        filenames = [fp.name]

        dataset = tf.data.TFRecordDataset(filenames)
        dataset = dataset.map(load_tfrecord_fixed)
        dataset = dataset.repeat()
        dataset = dataset.batch(2)

        iterator = dataset.make_initializable_iterator()
        next_element = iterator.get_next()

        a = sess.run(iterator.initializer)

        for i in range(3):
            a = sess.run(next_element)
            print(a)
Run Code Online (Sandbox Code Playgroud)

结果:

({'length': array([3, 3], dtype=int64), 'type': array([b'FIXED_length', b'FIXED_length'], dtype=object)}, {'values': array([[82,  2,  2], …
Run Code Online (Sandbox Code Playgroud)

python-3.x tensorflow tfrecord

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

AWS DynamoDB - Boto3 从 dynamoDB 表/结构中获取所有属性、字段名、列标题

最好的事物

目前我在 python 2.7 中使用 Boto3,我想要的是:我的特定 DynamoDB 表的列标题。

此时,我正在处理一个非常大的 dynamoDB 表,它有 80 列和 + 1.00O.000 条记录。我的任务是操纵这些数据。为此,我正在使用块。这意味着我每次从我的数据表中检索 1000 行并操作它们并将新结果写入 csv。(这是必需的,出于某些原因)。

但是因为我使用的是块,所以可能不是每个块都包含 80 列,这意味着它有时可以包含 79 或 78 列。当块中的特定列没有可用值时,就会发生这种情况。

这是不可取的,因为在一天结束时,所有这些 csv 应该再次相互连接,因此,每个 csv 应该包含相同数量的列。

因此,我的想法是:将空列添加到不包含所有必需列的块 csv 中。

但是因此,我必须知道,我的表(或结构)中的标题、属性、字段名称是什么 + 问题是,这些列标题是动态的,不能有静态的标题列表而且它可以是,突然间新记录添加了一个唯一的列,(这意味着下一次,我将收到每个 csv 的 81 列)-因此,这些标题知识应该来自我的表/亚马逊 aws

亲切的问候

python amazon-web-services amazon-dynamodb boto3

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

Haskell,graph,将函数放入最通用的形式 - > Eq

我想把2个函数(colorcheck)放到最通用的形式中 Eq a => ....但我不知道该怎么做.

这是一个非常简单的图:每个节点有2个邻居,任何相邻的节点必须有不同的颜色

color ::  [(Int, Int)] -> [(Int, Int)] -> Bool
color x [] = True
color a ((x,y):rest) =
    if check a x == check a y
    then False
    else color a rest

check :: [(Int, Int)] -> Int -> Int
check [] x = 999
check ((x,y):rest) p =
    if x == p
    then y
    else check rest p
Run Code Online (Sandbox Code Playgroud)

最后,colors给你TrueFalse

Main> colors [('a',"purple"),('b',"green"),('c',"blue")] [('a','b'),('b','c'),('c','a')] …
Run Code Online (Sandbox Code Playgroud)

haskell

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

Haskell,如何使用多个Eq(Eq a,Eq b)=>

我想多次使用Eq,这样第一个连音符的第二个元素来自另一个类型而不是其他类型

错了,但是,这是我想要的想法

例如.[(a,a)] - > [(a,a)] - >布尔----> [(a,b)] - > [(a,a)] - >布尔

代码

canColor ::  Eq a => [(a, a)] -> [(a, a)] -> Bool
canColor _ [] = True
canColor xs ((x,y):rest) =
    if findNeighbour xs x == findNeighbour xs y
    then False
    else canColor xs rest

findNeighbour :: Eq a => [(a, a)] -> a -> Maybe a
findNeighbour [] _ = Nothing
findNeighbour ((x,y):rest) z =
    if x == z
    then Just y
    else findNeighbour …
Run Code Online (Sandbox Code Playgroud)

haskell

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

模式和构造函数之间的"主要"区别是什么 - Haskell

模式和构造函数之间的"主要"区别是什么?

回答:

With a constructor you can add a tag to your data, in such a way that it receives a type.

Patters will be more used for matching data with a pattern, which isn't the case of a constructor. 
Patters can also be used for the destruction reasons.
Run Code Online (Sandbox Code Playgroud)

haskell

-8
推荐指数
2
解决办法
291
查看次数