我有一个简单的问题:
当您使用Beautiful Soup刮取网站的某个部分时,您可以使用data.find()/ data.findAll()或data.select()
现在的问题是..find()和.select()方法之间是否存在显着差异?(例如,在表现或灵活性方面,或......)
还是他们一样?
亲切的问候
最好的事物
我想读取一些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 2.7 中使用 Boto3,我想要的是:我的特定 DynamoDB 表的列标题。
此时,我正在处理一个非常大的 dynamoDB 表,它有 80 列和 + 1.00O.000 条记录。我的任务是操纵这些数据。为此,我正在使用块。这意味着我每次从我的数据表中检索 1000 行并操作它们并将新结果写入 csv。(这是必需的,出于某些原因)。
但是因为我使用的是块,所以可能不是每个块都包含 80 列,这意味着它有时可以包含 79 或 78 列。当块中的特定列没有可用值时,就会发生这种情况。
这是不可取的,因为在一天结束时,所有这些 csv 应该再次相互连接,因此,每个 csv 应该包含相同数量的列。
因此,我的想法是:将空列添加到不包含所有必需列的块 csv 中。
但是因此,我必须知道,我的表(或结构)中的标题、属性、字段名称是什么 + 问题是,这些列标题是动态的,不能有静态的标题列表而且它可以是,突然间新记录添加了一个唯一的列,(这意味着下一次,我将收到每个 csv 的 81 列)-因此,这些标题知识应该来自我的表/亚马逊 aws
亲切的问候
我想把2个函数(color和check)放到最通用的形式中
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给你True或False
Main> colors [('a',"purple"),('b',"green"),('c',"blue")] [('a','b'),('b','c'),('c','a')] …Run Code Online (Sandbox Code Playgroud) 我想多次使用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) 模式和构造函数之间的"主要"区别是什么?
回答:
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)