GVKun编程网logo

在C ++ / STL中是否有等效于Python range()的紧凑型(c++ str.length)

12

在这篇文章中,我们将为您详细介绍在C++/STL中是否有等效于Pythonrange的内容,并且讨论关于的紧凑型的相关问题。此外,我们还会涉及一些关于JavaScript函数类似于Pythonrang

在这篇文章中,我们将为您详细介绍在C ++ / STL中是否有等效于Python range的内容,并且讨论关于的紧凑型的相关问题。此外,我们还会涉及一些关于JavaScript函数类似于Python range()、JavaScript是否等效于Python的format()函数?、Java中是否有等同于memcpy()的东西?、Java中是否有等效于C#中的空合并运算符(??)的Java?的知识,以帮助您更全面地了解这个主题。

本文目录一览:

在C ++ / STL中是否有等效于Python range()的紧凑型(c++ str.length)

在C ++ / STL中是否有等效于Python range()的紧凑型(c++ str.length)

如何使用C ++ / STL执行以下操作?我想std::vector用一系列值[最小,最大)填充。

# Python
>>> x = range(0,10)
>>> x
[0,1,2,3,4,5,6,7,8,9]

我想我可以使用std::generate_n并提供函子来生成序列,但是我想知道是否有使用STL进行此操作的更简洁方法?

JavaScript函数类似于Python range()

JavaScript函数类似于Python range()

JavaScript中是否有类似于Python的函数range()

我认为应该有比每次编写以下几行更好的方法:

array = new Array();for (i = 0; i < specified_len; i++) {    array[i] = i;}

答案1

小编典典

,没有,但 您可以制造一个

JavaScript的Python实现 range()

尝试 模拟它在Python中的工作方式 ,我将创建类似于以下的函数:

function range(start, stop, step) {    if (typeof stop == ''undefined'') {        // one param defined        stop = start;        start = 0;    }    if (typeof step == ''undefined'') {        step = 1;    }    if ((step > 0 && start >= stop) || (step < 0 && start <= stop)) {        return [];    }    var result = [];    for (var i = start; step > 0 ? i < stop : i > stop; i += step) {        result.push(i);    }    return result;};

请参阅此jsfiddle以获取证明。

range()JavaScript和Python之间的比较

它的工作方式如下:

  • range(4)返回[0, 1, 2, 3]
  • range(3,6)返回[3, 4, 5]
  • range(0,10,2)返回[0, 2, 4, 6, 8]
  • range(10,0,-1)返回[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
  • range(8,2,-2)返回[8, 6, 4]
  • range(8,2)返回[]
  • range(8,2,2)返回[]
  • range(1,5,-1)返回[]
  • range(1,5,-2)返回[]

及其Python对应物的 工作方式完全相同 (至少在上述情况下):

>>> range(4)[0, 1, 2, 3]>>> range(3,6)[3, 4, 5]>>> range(0,10,2)[0, 2, 4, 6, 8]>>> range(10,0,-1)[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]>>> range(8,2,-2)[8, 6, 4]>>> range(8,2)[]>>> range(8,2,2)[]>>> range(1,5,-1)[]>>> range(1,5,-2)[]

因此,如果您需要一个功能类似于Python的功能range(),则可以使用上述解决方案。

JavaScript是否等效于Python的format()函数?

JavaScript是否等效于Python的format()函数?

Python具有以下功能:

bar1 = 'foobar'
bar2 = 'jumped'
bar3 = 'dog'

foo = 'The lazy ' + bar3 + ' ' + bar2 ' over the ' + bar1
# The lazy dog jumped over the foobar

变成这个:

bar1 = 'foobar'
bar2 = 'jumped'
bar3 = 'dog'

foo = 'The lazy {} {} over the {}'.format(bar3,bar2,bar1)
# The lazy dog jumped over the foobar

JavaScript有这样的功能吗?如果没有,我将如何创建一个遵循与Python实现相同的语法?

Java中是否有等同于memcpy()的东西?

Java中是否有等同于memcpy()的东西?

我有一个byte [],想将其复制到另一个byte []中。也许我在这里展示了我的简单“
C”背景,但是在Java字节数组中是否有等同于memcpy()的东西?

Java中是否有等效于C#中的空合并运算符(??)的Java?

Java中是否有等效于C#中的空合并运算符(??)的Java?

是否可以在Java中执行类似于以下代码的操作

int y = x ?? -1;

答案1

小编典典

可悲的是没有。您能做的最接近的是:

int y = (x != null) ? x : -1;

当然,如果您有需要的话,可以将其包装在库方法中(不太可能减少长度),但是在语法级别上没有更简洁的方法了。

今天关于在C ++ / STL中是否有等效于Python range的紧凑型的分享就到这里,希望大家有所收获,若想了解更多关于JavaScript函数类似于Python range()、JavaScript是否等效于Python的format()函数?、Java中是否有等同于memcpy()的东西?、Java中是否有等效于C#中的空合并运算符(??)的Java?等相关知识,可以在本站进行查询。

本文标签: