在这篇文章中,我们将为您详细介绍在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)
- JavaScript函数类似于Python range()
- JavaScript是否等效于Python的format()函数?
- Java中是否有等同于memcpy()的东西?
- Java中是否有等效于C#中的空合并运算符(??)的Java?
在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()
?
我认为应该有比每次编写以下几行更好的方法:
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()函数?
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()的东西?
我有一个byte [],想将其复制到另一个byte []中。也许我在这里展示了我的简单“
C”背景,但是在Java字节数组中是否有等同于memcpy()的东西?
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?等相关知识,可以在本站进行查询。
本文标签: