我有一个货币对列表,例如,它看起来像这样:
cp = ['EURUSD', 'CHFUSD', 'JPYUSD', 'CADUSD']
我想要做的是遍历此列表,将USD更改为GBP以产生一个新的列表,该列表将显示:
new_cp = ['EURGBP', 'CHFGBP', 'JPYGBP', 'CADGBP']
我想我会做的方式是遍历每一对,将字符串分成一个列表,删除最后3个元素,然后将'G','B','P'追加为新的最后一个3个元素,最后将其返回一个字符串,并将其添加到新列表“ new_cp”中。
我开始的代码是:
for pair in cp:
split_pair = pair.split()
但是,所有这些导致的结果是:
['EURUSD']
['CHFUSD']
等
因此,它只是拆分列表,而不拆分列表中每个货币对的字符串。
我知道这是相对初学者的东西,但是我真的很沮丧。我只是不明白为什么这行不通。
如果您可以帮助解决我在这里所做的错误,或者甚至提出一种更有效的方法来实现我的目标,那将不胜感激。
答案 0 :(得分:5)
我建议使用implementation 'com.google.firebase:firebase-core:16.0.7'
方法
例如:
$.ajax({
data: {impressions: impressions}
dataType: 'json',
type: 'POST',
url: "/pages/home"
});
希望这会有所帮助:)
答案 1 :(得分:4)
您可以通过在列表理解中使用extern crate actix;
extern crate actix_web;
extern crate env_logger;
use actix_web::http::Method;
use actix_web::{middleware, server, App, HttpRequest, HttpResponse};
enum DataSource {
Postgres,
HDF5,
}
fn index_postgres(req: &HttpRequest) -> HttpResponse {
HttpResponse::Ok().body("not implemented")
}
fn index_hdf5(req: &HttpRequest) -> HttpResponse {
HttpResponse::Ok().body("not implemented")
}
fn main() {
let mut verbose = false;
verbose = true;
let mut data_source = DataSource::Postgres;
data_source = DataSource::HDF5;
let index = match data_source {
DataSource::Postgres => index_postgres,
DataSource::HDF5 => index_hdf5,
};
::std::env::set_var("RUST_LOG", "actix_web=info");
env_logger::init();
let sys = actix::System::new("test");
server::new(move || {
if verbose {
App::new()
.middleware(middleware::Logger::default())
.resource("/", |r| r.method(Method::GET).f(index))
} else {
App::new().resource("/", |r| r.method(Method::GET).f(index))
}
})
.bind("127.0.0.1:8080")
.unwrap()
.start();
println!("Started http server: 127.0.0.1:8080");
let _ = sys.run();
}
来实现:
error: unsatisfied lifetime constraints
--> src\main.rs:50:13
|
48 | server::new(move || {
| ------- lifetime `'1` represents this closure's body
49 | if verbose {
50 | / App::new()
51 | | .middleware(middleware::Logger::default())
52 | | .resource("/", |r| r.method(Method::GET).f(index))
| |__________________________________________________________________^ argument requires that `'1` must outlive `'static`
|
= note: closure implements `Fn`, so references to captured variables can't escape the closure
输出:replace
答案 2 :(得分:3)
如果您知道每个货币对的最后三个字符都将包含npm
,则更有效的方法是只使用列表索引并附加USD
:
GBP
答案 3 :(得分:2)
这是另一种解决方案。 您可以使用RegEx替换“货币”值。
import re
cp = ['EURUSD', 'CHFUSD', 'JPYUSD', 'CADUSD']
mycurr = 'GBP'
to_curr = re.compile("USD")
for pair in cp:
print(to_curr.sub(mycurr, pair))
输出:
EURGBP
CHFGBP
JPYGBP
CADGBP