小编New*_*New的帖子

python中的两个相邻列表

我发现这个代码示例,我认为编写得非常好,但是我很难理解为什么它的部分工作原理.

代码搜索字符串中最长的单词:

def LongestWord(str):
    ''.join(map(lambda x: [' ',x][x.isalnum()], str)).split()
Run Code Online (Sandbox Code Playgroud)

我不知道是怎么[' ',x][x.isalnum()]运作的.这个结构有名字吗?

python string lambda

3
推荐指数
1
解决办法
116
查看次数

私人和公共职能

我试图自学C ++类,但遇到了一个绊脚石,我似乎无法解决。我希望有人能够指出正确的方向。

我决定构造一个小类,Tree该类构造一个新的BST。我希望能够像这样在我的对象上调用某些方法:

int main() {
  Tree<int> tree1;

  tree1.insert(5);

  int treeMin = tree1.minValue();
  int treeMax = tree1.maxValue();

  tree1.printTree();
}
Run Code Online (Sandbox Code Playgroud)

现在,为了调用这些函数,我同时定义了publicprivate函数,以便您不会以多余的方式调用函数。例如:

(我想避免的事情)

int main() {
  Tree<int> tree1;

  tree1.insert(tree1, 5);

  int treeMin = tree1.minValue(tree1);
  int treeMax = tree1.maxValue(tree1);

  tree1.printTree(tree1);
}
Run Code Online (Sandbox Code Playgroud)

为了避免出现这种冗余,我定义了同一功能的公共和私有版本。这样,公共职能部门会调用其私人部门。

template<class T>
class Tree {
private:
  treeNode<T>* root;
  treeNode<T>* newNode(T data);
  void insert(treeNode<T>*& root, T data);
  int minValue(treeNode<T>*& root);
  int maxValue(treeNode<T>*& root);
  void printTree(treeNode<T>*& root);

public:
  Tree();
  ~Tree();
  void insert(T data);
  int minValue();
  int maxValue(); …
Run Code Online (Sandbox Code Playgroud)

c++ oop coding-style class

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

标签 统计

c++ ×1

class ×1

coding-style ×1

lambda ×1

oop ×1

python ×1

string ×1