我有两台linux机器,unix排序似乎表现不同.我相信我已经把它缩小到对下划线角色的处理.
如果我运行sort tmp,其中tmp包含以下两行:
aa_d_hh
aa_dh_ey
Run Code Online (Sandbox Code Playgroud)
一台机器输出
aa_d_hh
aa_dh_ey
Run Code Online (Sandbox Code Playgroud)
(即'_'在'h'之前),而其他输出
aa_dh_ey
aa_d_hh
Run Code Online (Sandbox Code Playgroud)
(即'h'在'_'之前).我需要这些机器一起运行(因为我稍后使用sort -m来合并非常大的文件).
有什么方法可以强制排序以某种方式表现吗?
谢谢.
所以,我的问题相对简单.我有一个蜘蛛爬行多个站点,我需要它按照我在代码中写入的顺序返回数据.它发布在下面.
from scrapy.spider import BaseSpider
from scrapy.selector import HtmlXPathSelector
from mlbodds.items import MlboddsItem
class MLBoddsSpider(BaseSpider):
name = "sbrforum.com"
allowed_domains = ["sbrforum.com"]
start_urls = [
"http://www.sbrforum.com/mlb-baseball/odds-scores/20110328/",
"http://www.sbrforum.com/mlb-baseball/odds-scores/20110329/",
"http://www.sbrforum.com/mlb-baseball/odds-scores/20110330/"
]
def parse(self, response):
hxs = HtmlXPathSelector(response)
sites = hxs.select('//div[@id="col_3"]//div[@id="module3_1"]//div[@id="moduleData4952"]')
items = []
for site in sites:
item = MlboddsItem()
item['header'] = site.select('//div[@class="scoreboard-bar"]//h2//span[position()>1]//text()').extract()# | /*//table[position()<2]//tr//th[@colspan="2"]//text()').extract()
item['game1'] = site.select('/*//table[position()=1]//tr//td[@class="tbl-odds-c2"]//text() | /*//table[position()=1]//tr//td[@class="tbl-odds-c4"]//text() | /*//table[position()=1]//tr//td[@class="tbl-odds-c6"]//text()').extract()
items.append(item)
return items
Run Code Online (Sandbox Code Playgroud)
结果以随机顺序返回,例如它返回第29个,然后是第28个,然后是第30个.我已经尝试将调度程序顺序从DFO更改为BFO,以防万一是问题,但这并没有改变任何东西.
我需要一个关于如何在a上使用类似的类HashSet来获得升序的示例.假设我有HashSet这样一个:
HashSet<String> hs = new HashSet<String>();
Run Code Online (Sandbox Code Playgroud)
我怎样才能hs按升序排列?
我有一个矩阵
df<-matrix(data=c(3,7,5,0,1,0,0,0,0,8,0,9), ncol=2)
rownames(df)<-c("a","b","c","d","e","f")
[,1] [,2]
a 3 0
b 7 0
c 5 0
d 0 8
e 1 0
f 0 9
Run Code Online (Sandbox Code Playgroud)
我想先按列1降序排列矩阵,然后按列2排序,得到矩阵
df.ordered<-matrix(data=c(7,5,3,1,0,0,0,0,0,0,9,8),ncol=2)
rownames(df.ordered)<-c("b","c","a","e","f","d")
[,1] [,2]
b 7 0
c 5 0
a 3 0
e 1 0
f 0 9
d 0 8
Run Code Online (Sandbox Code Playgroud)
有关如何实现这一目标的任何建议?谢谢.
我有一个data.table dumdt:
set.seed(123)
dumdt <- data.table(v1=sample(1:10, 5), v2=1:5)
Run Code Online (Sandbox Code Playgroud)
我想在这个特定的索引顺序中重新排序的行(首先是第三个观察,然后是第五个,然后是第二个,等等):
to_ord <- c(3, 5, 2, 1, 4)
Run Code Online (Sandbox Code Playgroud)
所以我想dumdt成为结果,dumdt[to_ord]但我也希望通过引用来做,并避免这样做dumdt <- dumdt[to_ord].
我知道我可以通过引用setorder(或setorderv)重新排序行,但只能按照一个或多个变量,按升序或降序排序,而不是按自定义顺序排序.
但是,如果我想按照自定义顺序重新排序列,而不是行,我可以使用setcolorder.
所以这里有我的问题:是否有一个函数可以像setcolorder行一样工作(或者用一种方法setorder来做同样的事情)?
我想要的输出就像是
setroworder(x=dumdt, neworder=to_ord)
dumdt
# v1 v2
# 1: 4 3
# 2: 6 5
# 3: 8 2
# 4: 3 1
# 5: 7 4
Run Code Online (Sandbox Code Playgroud) 我想做这样的事情:
class Foo extends Ordered[Foo] {
val x
val y
val z
.
.
.
.
def compare(that: Foo) = {
val c0 = this.length compareTo that.length // primary comparison
lazy val c1 = this.x compareTo that.x // secondary comparison
lazy val c2 = this.y.size compareTo that.y.size // tertiary comparison
lazy val c3 = this.z.head compareTo that.z.head // final tie breaker
if (c0 != 0) c0 else if (c1 != 0) c1 else if (c2 != 0) c2 else if …Run Code Online (Sandbox Code Playgroud) 我有一堆具有相同列但顺序不同的csv文件.我们正在尝试使用SQL*Plus上传它们,但我们需要具有固定列排列的列.
例
所需订单:ABCDEF
csv文件:ACDEB(有时列不在csv中,因为它不可用)
用python可以实现吗?我们正在使用Access +宏来完成它......但它太耗时了
PS.对不起,如果有人对我的英语技能感到不满
我在Heroku部署上遇到了一个奇怪的问题,我似乎无法在本地复制.基本上当我在特定模型上找到所有内容而不是按ID排序时,它似乎根本无法返回它们.
通常记录如下:
>> Model.all
=> [<model id: 2>,<model id: 1>,<model id: 3>,<model id: 4>,<model id: 5>]
Run Code Online (Sandbox Code Playgroud)
... 等等.
如果我明确地调用Model.order("id ASC")它,则按预期返回模型.
是什么赋予了?为什么会发现所有不按降序ID顺序返回对象?
我有一个包含3种不同活动的应用程序.当我启动应用程序时,其中一个活动始终首先启动.但是我希望在首先开始之前开始一个不同的活动.
我如何更改此设置以首先启动不同的活动?
考虑代码两个片段,简单地订购串C#并F#分别为:
C#:
var strings = new[] { "Tea and Coffee", "Telephone", "TV" };
var orderedStrings = strings.OrderBy(s => s).ToArray();
Run Code Online (Sandbox Code Playgroud)
F#:
let strings = [| "Tea and Coffee"; "Telephone"; "TV" |]
let orderedStrings =
strings
|> Seq.sortBy (fun s -> s)
|> Seq.toArray
Run Code Online (Sandbox Code Playgroud)
这两个代码片段返回不同的结果:
在我的具体情况下,我需要关联这两种语言之间的排序逻辑(一种是生产代码,一种是测试断言的一部分).这提出了几个问题:
编辑
在回答几个探测性评论时,运行下面的片段可以更多地了解这种排序差异的确切性质:
F#:
let strings = [| "UV"; "Uv"; "uV"; "uv"; "Tv"; "TV"; "tv"; "tV" |]
let orderedStrings =
strings
|> Seq.sortBy (fun s -> s)
|> …Run Code Online (Sandbox Code Playgroud) sorting ×6
collation ×2
python ×2
r ×2
activerecord ×1
android ×1
asynchronous ×1
c# ×1
comparable ×1
compareto ×1
csv ×1
data.table ×1
f# ×1
hashmap ×1
hashset ×1
java ×1
matrix ×1
scala ×1
scrapy ×1
sortedset ×1
sql-order-by ×1
string ×1
unix ×1