我正在使用BeautifulSoup从这个网址获取手机的所有链接 http://www.gsmarena.com/samsung-phones-f-9-0-p2.php
我的以下代码是:
import urllib2
from BeautifulSoup import BeautifulSoup
url = "http://www.gsmarena.com/samsung-phones-f-9-0-p2.php"
text = urllib2.urlopen(url).read();
soup = BeautifulSoup(text);
data = soup.findAll('div',attrs={'class':'makers'});
for i in data:
print "http://www.gsmarena.com/" + i.ul.li.a['href'];
Run Code Online (Sandbox Code Playgroud)
但是当我检查时,返回的url列表比预期的输出短,此代码输出3个值,但结果应显示超过10个值
我一直在尝试将数组减少为字符串以用于字符串插值。
例如。
input = ["123", "456"]
expected output = array=123,456
Run Code Online (Sandbox Code Playgroud)
这是我的尝试
$ echo '["123", "456"]' | jq 'array=\(.|join(","))'
jq: error: syntax error, unexpected INVALID_CHARACTER (Unix shell quoting issues?) at <top-level>, line 1:
array=\(.|join(","))
jq: 1 compile error
Run Code Online (Sandbox Code Playgroud) 我试图让es6语法适用于此代码片段.
let checkList = [1, 2].map(i => "Check " + i)
let checks = checkList
// .reduce((acc, check) => Object.assign(acc, {[check]: {valid: false}}), {})
.reduce((acc, check) => {...acc, {[check]: {valid: false}}}, {})
console.log(checks)
Run Code Online (Sandbox Code Playgroud)
如果我在https://babeljs.io中使用注释行的输出如下所示,这是我想要使用新语法得到的.
Object {
"Check 1": Object {
"valid": false
},
"Check 2": Object {
"valid": false
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定此代码中是否存在语法错误.我尝试选择babeljs中的所有预设,但它无法正确编译.
我正在尝试使用以下 jq 过滤器过滤 docker-machine 的输出。
docker-machine inspect default | jq '{ConfigVersion, .Driver.{MachineName, CPU, Memory}, DriverName}'
Run Code Online (Sandbox Code Playgroud)
第一个命令的原始 json 在这里
{
"ConfigVersion": 3,
"Driver": {
"IPAddress": "192.168.99.100",
"MachineName": "default",
"SSHUser": "docker",
"SSHPort": 52314,
"SSHKeyPath": "/Users/apatil/.docker/machine/machines/default/id_rsa",
"StorePath": "/Users/apatil/.docker/machine",
"SwarmMaster": false,
"SwarmHost": "tcp://0.0.0.0:3376",
"SwarmDiscovery": "",
"VBoxManager": {},
"HostInterfaces": {},
"CPU": 2,
"Memory": 5120,
"DiskSize": 20000,
"NatNicType": "82540EM",
"Boot2DockerURL": "",
"Boot2DockerImportVM": "",
"HostDNSResolver": false,
"HostOnlyCIDR": "192.168.99.1/24",
"HostOnlyNicType": "82540EM",
"HostOnlyPromiscMode": "deny",
"UIType": "headless",
"HostOnlyNoDHCP": false,
"NoShare": false,
"DNSProxy": true,
"NoVTXCheck": false,
"ShareFolder": ""
},
"DriverName": "virtualbox", …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个 java 8 流收集器,它反映了rxjava 缓冲区运算符的功能
我有一个工作代码:
// This will gather numbers 1 to 13 and combine them in groups of
// three while preserving the order even if its a parallel stream.
final List<List<String>> triads = IntStream.range(1, 14)
.parallel()
.boxed()
.map(Object::toString)
.collect(ArrayList::new, accumulator, combiner);
System.out.println(triads.toString())
Run Code Online (Sandbox Code Playgroud)
这里的累加器是这样的:
final BiConsumer<List<List<String>>, String> accumulator = (acc, a) -> {
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("Accumulator|");
stringBuilder.append("Before: ").append(acc.toString());
int accumulatorSize = acc.size();
if (accumulatorSize == 0) {
List<String> newList = new ArrayList<>();
newList.add(a);
acc.add(newList); …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写编程挑战书中的第一个问题。该代码计算从a到b生成的数字数。
如果n为偶数,则新n为n / 2,如果n为奇数,则其3 * n + 1。
例如,对于22,它将计算数字22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1等等的数字是16。代码在打印113383后停止,我输入为
1 1000000
#include <iostream>
#include <map>
#include <vector>
using std::cout;
using std::cin;
using std::string;
using std::endl;
using std::vector;
using std::map;
map<long,long> solution;
long sequences(long n) {
// returns the number of numbers(including 1) `n`produces till it becomes 1
if(n==1)
return 1;
else{
// assuming n>1
if(solution.find(n)!=solution.end())
return solution.find(n)->second;
long size = 0;
while(n!=1){
if(n%2==0){
n = …Run Code Online (Sandbox Code Playgroud) jq ×2
json ×2
c++ ×1
declarative ×1
ecmascript-6 ×1
java ×1
java-8 ×1
java-stream ×1
javascript ×1
object ×1
python ×1
rx-java ×1