小编Jos*_*hua的帖子

Unix排序处理下划线字符

我有两台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来合并非常大的文件).

有什么方法可以强制排序以某种方式表现吗?

谢谢.

unix sorting collation environment-variables

21
推荐指数
2
解决办法
8277
查看次数

Scrapy按顺序抓取网址

所以,我的问题相对简单.我有一个蜘蛛爬行多个站点,我需要它按照我在代码中写入的顺序返回数据.它发布在下面.

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,以防万一是问题,但这并没有改变任何东西.

python sorting asynchronous hashmap scrapy

21
推荐指数
4
解决办法
3万
查看次数

订购一个hashset示例?

我需要一个关于如何在a上使用类似的类HashSet来获得升序的示例.假设我有HashSet这样一个:

HashSet<String> hs = new HashSet<String>();
Run Code Online (Sandbox Code Playgroud)

我怎样才能hs按升序排列?

java hashset comparable sortedset data-structures

20
推荐指数
2
解决办法
5万
查看次数

在r中按多列排序矩阵

我有一个矩阵

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)

有关如何实现这一目标的任何建议?谢谢.

sorting r matrix

20
推荐指数
3
解决办法
6万
查看次数

按特定顺序对data.table中的行重新排序

我有一个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)

sorting r data.table

20
推荐指数
2
解决办法
4563
查看次数

Scala成语用于按多个标准排序

我想做这样的事情:

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)

sorting functional-programming scala compareto

19
推荐指数
2
解决办法
3766
查看次数

Python - 在csv中重新排序列

我有一堆具有相同列但顺序不同的csv文件.我们正在尝试使用SQL*Plus上传它们,但我们需要具有固定列排列的列.

所需订单:ABCDEF

csv文件:ACDEB(有时列不在csv中,因为它不可用)

用python可以实现吗?我们正在使用Access +宏来完成它......但它太耗时了

PS.对不起,如果有人对我的英语技能感到不满

python csv

19
推荐指数
2
解决办法
2万
查看次数

ActiveRecord查找全部不按ID排序?

我在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顺序返回对象?

activerecord sql-order-by ruby-on-rails-3

18
推荐指数
2
解决办法
8165
查看次数

如何指定在应用启动时启动的活动?

我有一个包含3种不同活动的应用程序.当我启动应用程序时,其中一个活动始终首先启动.但是我希望在首先开始之前开始一个不同的活动.

我如何更改此设置以首先启动不同的活动?

android android-manifest android-activity

18
推荐指数
2
解决办法
3万
查看次数

C#与F#的默认排序

考虑代码两个片段,简单地订购串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)

这两个代码片段返回不同的结果:

  • C#:茶和咖啡,电话,电视
  • F#:电视,茶和咖啡,电话

在我的具体情况下,我需要关联这两种语言之间的排序逻辑(一种是生产代码,一种是测试断言的一部分).这提出了几个问题:

  • 订购逻辑存在差异的根本原因是什么?
  • 在我的情况下,克服这个"问题"的推荐方法是什么?
  • 这种现象是否特定于字符串,还是也适用于其他.NET类型?

编辑

在回答几个探测性评论时,运行下面的片段可以更多地了解这种排序差异的确切性质:

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)

c# sorting string f# collation

18
推荐指数
2
解决办法
606
查看次数