标签: iteration

一组上的Python迭代顺序

我正在解析两个大文件(Gb大小顺序),每个文件包含keys和对应values.一些keys在两个文件之间共享,但具有不同的对应values.对于每个文件,我想写一个新文件keys*和相应的文件values,keys*表示密钥同时出现在file1和file2中.我不关心key输出中的顺序,但绝对应该在两个文件中的顺序相同.

档案1:

key1
value1-1
key2
value1-2
key3
value1-3
Run Code Online (Sandbox Code Playgroud)

文件2:

key1
value2-1
key5
value2-5
key2
value2-2
Run Code Online (Sandbox Code Playgroud)

有效输出将是:

解析文件1:

key1
value1-1
key2
value1-2
Run Code Online (Sandbox Code Playgroud)

解析文件2:

key1
value2-1
key2
value2-2
Run Code Online (Sandbox Code Playgroud)

另一个有效的输出:

解析文件1:

key2
value1-2
key1
value1-1
Run Code Online (Sandbox Code Playgroud)

解析文件2:

key2
value2-2
key1
value2-1
Run Code Online (Sandbox Code Playgroud)

无效输出(在文件1和文件2不同的顺序键):

解析文件1:

key2
value1-2
key1
value1-1
Run Code Online (Sandbox Code Playgroud)

解析文件2:

key1
value2-1
key2
value2-2
Run Code Online (Sandbox Code Playgroud)

最后一个精度是,值大小远远大于密钥大小.

我想要做的是:

  • 对于每个输入文件,使用与文件中的键对应的键解析并返回a dict(让我们调用它file_index),以及与在输入文件中找到键的偏移量相对应的值.

  • 计算交集

    good_keys = file1_index.viewkeys() & file2_index.viewkeys()
    
    Run Code Online (Sandbox Code Playgroud)
  • 做一些像(伪代码): …

python iteration set python-2.7

-1
推荐指数
1
解决办法
1779
查看次数

无尽的JavaScript ELSE IF语句650需要缩短

我需要修改一些在我使用的程序中运行的脚本.

脚本仅在具有X和Y轴的图表上以特定价格绘制水平线.每当我切换到新图表时,脚本将遍历所有语句,直到它到达与图表匹配的符号/名称,然后它将加载行.

我正在使用永无止境的"if else声明"来为我做一些尽可能简单的事情.我有650 if else语句,每个语句包含数百个"addlines".

符号名称之间没有关系,除了字母表中的字母.符号包含的所有价格/数字都是随机的.

但我正在寻找一个更好的解决方案,使其运行速度更快,效率更高,而不是使用其他650个if语句.我知道我使用的命令不一样,我只是概括.我希望有人能帮帮忙.

将Else if语句乘以650,即有多少.

var Symbol
if (Symbol == "AAB") {
    addline(37.5);
    addline(40.9);
    addline(15.5);
    addline(100.5);
    etc....
} else if (Symbol == "ZOB") {
    addline(15.8);
    addline(20.9);
    addline(100.5);
    addline(200.5);
    etc....
} else if (Symbol == "STX") {
    addline(10.9);
    addline(19.8);
    addline(5.5);
    addline(20.2);
    etc....
} else if (Symbol == "AXI") {
    addline(200);
    addline(20);
    addline(5.9);
    addline(9.9);
    etc....
} else if (Symbol == "AXI") {
    ETC.....
}

return;

}
Run Code Online (Sandbox Code Playgroud)

javascript iteration if-statement control-structure switch-statement

-1
推荐指数
1
解决办法
126
查看次数

将while循环转换为数学公式

我将循环作为内循环,并试图通过将其转换为数学公式来摆脱它:

while(!(((aux = a * b) <= c) && (c >= aux + d))) --a;
Run Code Online (Sandbox Code Playgroud)

a,b,c,daux都是类型size_t,即unsigned int

注意: a在循环体内的每次迭代中递减!

我完全坚持这个问题.我试图简化循环条件,但由于unsignedness约束而失败.

至于结果,我只是想获得的价值a取决于b,c,d.

c c++ iteration math loops

-1
推荐指数
2
解决办法
444
查看次数

对于具有定时迭代的循环 - Objective-C

我想实现一个for循环,这样对于每次迭代,它将等待一秒钟才能进入下一个循环.

for (NSUInteger i = 0; i <=3; i++) {
   //...do something
   //...wait one second
}
Run Code Online (Sandbox Code Playgroud)

iteration objective-c

-1
推荐指数
1
解决办法
55
查看次数

如何通过迭代字符串在Python中创建对象?

我从文件中读出一行如下:

a b c d e f
Run Code Online (Sandbox Code Playgroud)

使用此字符串,我想将每个字母转换为我的用户类中的新"用户".所以我想要的是:

for character in **the first line of the file**:
    if character != ' '
        user = user(character)
Run Code Online (Sandbox Code Playgroud)

换句话说,我想要像"userA = user("a")"这样的东西,其中user是我定义的一个类,它接受一个字符串作为参数.

我很难找到在Python中迭代字符串的方法,然后使用结果创建一个对象.

python string iteration character object

-1
推荐指数
1
解决办法
58
查看次数

带索引的`step`

如果我有这个代码:

46.step(127, 1) do |i|
end
Run Code Online (Sandbox Code Playgroud)

在第10次迭代中,我可以得到两个i = 55并且index = 10没有任何外部计数器吗?

ruby iteration

-1
推荐指数
1
解决办法
256
查看次数

以表格形式显示数组

我有这样一个阵列 -

arr = ["0.5", " 2016-08-25 11:02:00 +0530", " test 1",
       " 0.75", " 2016-08-25 11:02:00 +0530", " test 2"]
Run Code Online (Sandbox Code Playgroud)

我希望它以这样的表格形式显示 -

0.5 11:02 test 1
0.75 11:02 test 2
Run Code Online (Sandbox Code Playgroud)

ruby arrays iteration ruby-on-rails

-1
推荐指数
1
解决办法
54
查看次数

为什么这个java代码有效?

在迭代期间,不允许从集合中删除.我有一段代码正在工作,我认为不应该工作.它可能在将来失败,为什么它现在正在运作?

public class RemoveFromSet {

    static Set<Integer> set = new HashSet<>();
    public static void main(String[] args) {
        set.add(1);
        set.add(2);
        set.add(3);
        set.add(4);
        while(set.size()>0) {
            int val = set.iterator().next();
            set.remove(val);
            System.out.println("removed val = "+val);
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

java iteration collections iterator

-1
推荐指数
1
解决办法
81
查看次数

如何提高嵌套循环的算法效率

给定一个整数列表和一个和值,返回前两个值(从左边)加起来形成总和.

例如,给定:

sum_pairs([10, 5, 2, 3, 7, 5], 10)
Run Code Online (Sandbox Code Playgroud)

[5, 5](在索引[1, 5][10, 5, 2, 3, 7, 5])加起来10,和[3, 7](在索引处[3, 4])加起来10.其中,整个对[3, 7]更早,因此是正确的答案.

这是我的代码:

def sum_pairs(ints, s)
  result = []
  i = 0
  while i < ints.length - 1
    j = i+1
    while j < ints.length
      result << [ints[i],ints[j]] if ints[i] + ints[j] == s
      j += 1
    end
    i += 1
  end
  puts result.to_s
  result.min
end
Run Code Online (Sandbox Code Playgroud)

它工作正常,但效率太低,需要12000毫秒才能运行.嵌套循环是效率低下的问题.我怎么能改进算法?

ruby iteration algorithm loops

-1
推荐指数
1
解决办法
91
查看次数

比较两个列表的列表元素(略有不同)

我有两个整数列表(只有正数):a和b。现在,我想将a [0]与b [0],a [1]与b [1],a [2]与b [2]进行比较,依此类推,但是我不知道如何做。

更具体地说,我想知道a [0]和b [0]之间的距离,等等,并将结果保存在列表中(或者,如果更大,我希望列出百分比的列表,如果更大的话)整数将是100%,较小的整数将是较大的整数的百分比(fe 2是4的50%)。

我有Python 3.7.3。

python iteration list

-1
推荐指数
1
解决办法
42
查看次数