GVKun编程网logo

范围(len(列表))还是枚举(列表)?(范围表示)

7

关于范围和len的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于(PHP)redisList(列表)操作、10.JSX(列表)、hbase多个过滤器组合(列表)、javascript怎么把

关于范围len的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于(PHP)redis List(列表)操作、10. JSX(列表)、hbase 多个过滤器组合(列表)、javascript怎么把数组转化为list(列表)等相关知识的信息别忘了在本站进行查找喔。

本文目录一览:

范围(len(列表))还是枚举(列表)?(范围表示)

范围(len(列表))还是枚举(列表)?(范围表示)

以下哪项将被认为是更好/更清晰/更快/更多的“ Pythonic”?我不在乎列表的内容L,只关心它的持续时间。

a = [f(n) for n, _ in enumerate(L)]

要么

a = [f(n) for n in range(len(L))]

如果有什么不同,该函数也会f利用len(list)

答案1

小编典典

一些快速的计时运行似乎使第二个选项range()略有优势enumerate()

timeit a = [f(n) for n, _ in enumerate(mlist)]10000 loops, best of 3: 118 us per looptimeit a = [f(n) for n in range(len(mlist))]10000 loops, best of 3: 102 us per loop

只是为了好玩xrange()而已(Python v2.7.2)

timeit a = [f(n) for n in xrange(len(mlist))]10000 loops, best of 3: 99 us per loop

我希望 首先 使用 可读代码 ,然后使用(xrange()如果可用)(例如,Python
3.x之前的版本),然后使用range()enumerate()

(PHP)redis List(列表)操作

(PHP)redis List(列表)操作

/**
    * 
    * List操作
    * 列表操作
    * 可理解为数组操作
    * 插入、删除数据按照一定规律排列的
    * 元素可重复
    * 适用于队列
    * 
    */
   
   //在列表头部插入一个值one,当列表不存在时自动创建一个列表,key1为列表名
     $redis->lpush("key1", "one");

   //在列表尾部插入一个值two,当列表不存在时自动创建一个列表,key1为列表名
     $redis->rPush("key1","two");

   //将一个插入已存在的列表头部,列表不存在时操作无效
    $redis->rPushx("key1","1");

    //删除列表的第一个元素并返回列表和列表的第一个元素,当key1不存在或不是列表则返回false
    $redis->lPop(''key1'');

    //删除列表的最后一个元素并返回列表和列表的最后一个元素,当key1不存在或不是列表则返回false
    $redis->rPop(''key1'');

   //删除并或取列表的第一个元素,如果没有元素则会阻塞直到等待超时
   $redis->blPop(''asd'', 10);

   //删除并或取列表的最后一个元素,如果没有元素则会阻塞直到等待超时
   $ret = $redis->brPop(''asd'', 10);

   //移除列表key1中最后一个元素,将其插入另一个列表asd头部,并返回这个元素。若源列表没有元素则返回false
    $redis->rpoplpush(''key1'', ''asd'');

    //移除列表key1中最后一个元素,将其插入另一个列表asd头部,并返回这个元素。如果列表没有元素则会阻塞列表直到超时,超时返回false。
    $ret = $redis->brpoplpush(''key1'', ''asd'', 10);

   //返回列表长度
    $redis->lLen(''key1'');

   //通过索引 (也就是下标key) 获取列表中的元素,如果没有该索引,则返回false。
    $redis->lindex(''key1'', 0);
    
    //通过索引修改列表中元素的值,如果没有该索引,则返回false。
    $redis->lSet(''key1'', 2, ''1'');


    //在列表key1中指定元素six前面或后面插入元素。若指定元素不在列表中,或列表不存在时,不执行任何操作
    //Redis::AFTER插入元素后面    Redis::BEFORE插入元素前面
    //返回值:插入成功返回插入后列表元素个数,若key1不存在返回0,若key1不是列表返回false
    $redis->lInsert(''key1'', Redis::BEFORE, ''one'', ''1'');

    //根据第三个参数(count),删除掉相对的value
    //count > 0 : 从表头开始向表尾搜索,移除与value相等的元素,数量为count。
    //count < 0 : 从表尾开始向表头搜索,移除与value相等的元素,数量为count的绝对值。
    //count = 0 : 移除表中所有与value相等的值。
    //返回实际删除元素个数
    $redis->lrem(''key1'', ''1'', -2);

      //对一个列表进行截取,只保留指定区间 (如:下标1到10) 的元素,其他元素都删除。成功返回true。
    $redis->ltrim(''key1'', 1, 10);

   // 获取存储的数据并输出列表下标0到5的数据
   // 0为开始查询的列表里的第一个元素,-1则为最后一个元素
   // 5代表查询5条数据,当5为-1时则查看所有数据,
   $redis->lrange("key1", 0 ,5);

 

10. JSX(列表)

10. JSX(列表)

1. 列表组件的创建

React中可以使用 map 函数来构建呈现列表数据的组件。map 函数与 C# 中的 Selcet 方法基本相同,都是把集合中的项取出后,进行某些处理,然后返回一个新的集合。

const numbers = [1, 2, 3, 4, 5];
const listItems = numbers.map((number) =>
  <li>{number}</li>
);

<ul>{listItems}</ul>

也可以直接将 map 的调用语句嵌套在 html 中

<ul>
  {numbers.map((number) =>
    <li>{number}</li>
  )}
</ul>

在浏览器中查看结果:

封装成列表组件,将集合数据提取到参数即可:

function NumberList(props) {
  const numbers = props.numbers;
  const listItems = numbers.map((number) =>
    <li key={number.toString()}>
      {number}
    </li>
  );
  return (
    <ul>{listItems}</ul>
  );
}

const numbers = [1, 2, 3, 4, 5];

const root = ReactDOM.createRoot(document.getElementById(''root'')); 
root.render(<NumberList numbers={numbers}/>);

 

2. 列表组件中的 key

构建列表组件时,必须给列表中的每一项赋予一个集合内唯一的 key。React需要根据 key 来检测列表中的哪一项发生了变更。

由于 key 是集合层面的东西,所以在项的内部设置 key 是没有意义的,通常是在 map 函数中设置 key。

比如将列表中的一项提取成一个组件:

function ListItem(props) {
  const value = props.value;
  return (
    <li key={value.toString()}>
      {value}
    </li>
  );
}

function NumberList(props) {
  const numbers = props.numbers;
  const listItems = numbers.map((number) =>
    <ListItem value={number} />
  );
  return (
    <ul>
      {listItems}
    </ul>
  );
}

此时列表中的项 ListItem,内部设置了 key,这种做法是错误的。

正确的做法是,不在列表中的项 ListItem 中设置 key,而是在构建集合的 map 函数中设置 key:

function ListItem(props) {
  return <li>{props.value}</li>;
}

function NumberList(props) {
  const numbers = props.numbers;
  const listItems = numbers.map((number) =>
    <ListItem key={number.toString()} value={number} />
  );
  return (
    <ul>
      {listItems}
    </ul>
  );
}

如果不设置 key,React会默认用数组下标作为 key:

const listItems = numbers.map((number, index) =>
  <ListItem key={index} value={number} />
);

但当列表项的顺序发生变化时,这样会影响性能,也可能造成BUG,所以不建议使用默认的 key。

hbase 多个过滤器组合(列表)

hbase 多个过滤器组合(列表)

使用FilterList要保证过滤器的顺序需要使用List<Filter>

private static void mutilFilterData() throws IOException{
        Table table = helper.getConnection().getTable(TableName.valueOf("testtable"));

        List<Filter> filters = new ArrayList<Filter>();

        Filter filter1 = new RowFilter(CompareOperator.GREATER_OR_EQUAL,
                new BinaryComparator(Bytes.toBytes("rowKey60")));
        filters.add(filter1);

        Filter filter2 = new RowFilter(CompareOperator.LESS_OR_EQUAL,
                new BinaryComparator(Bytes.toBytes("rowKey69")));
        filters.add(filter2);

        Filter filter3 = new QualifierFilter(CompareOperator.EQUAL,
                new RegexStringComparator("username"));
        filters.add(filter3);

        FilterList filterList1 = new FilterList(FilterList.Operator.MUST_PASS_ALL,filters);

        Scan scan = new Scan();
        scan.setFilter(filterList1);
        ResultScanner scanner1 = table.getScanner(scan);
        System.out.println("Results of scan #1 - MUST_PASS_ALL:");
        int n = 0;
        for (Result result : scanner1) {
            for (Cell cell : result.rawCells()) {
                System.out.println("Cell: " + cell + ", Value: " +
                        Bytes.toString(cell.getValueArray(), cell.getValueOffset(),
                                cell.getValueLength()));
                n++;
            }
        }
        scanner1.close();
        table.close();

    }

输出结果:

Cell: rowKey60/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user60
Cell: rowKey61/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user61
Cell: rowKey62/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user62
Cell: rowKey63/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user63
Cell: rowKey64/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user64
Cell: rowKey65/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user65
Cell: rowKey66/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user66
Cell: rowKey67/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user67
Cell: rowKey68/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user68
Cell: rowKey69/info:username/1555078771906/Put/vlen=6/seqid=0, Value: user69

 

javascript怎么把数组转化为list(列表)

javascript怎么把数组转化为list(列表)

随着前端技术的不断发展,javascript成为了前端开发界的重要一环。在前端开发中,处理数据操作是非常重要的一项工作。

在JavaScript中,数据的存储方式之一是数组。而有时候,我们需要将数组转化为一个列表(List)的形式,例如在渲染数据时需要将数据显示在一个有序列表中。

本文将介绍如何使用JavaScript将数组转化为列表,并提供几种不同方式的示例代码。

方法一:使用for循环

使用for循环可以遍历数组中的每个元素,并利用innerHTML将它们插入到列表中。以下是示例代码:

立即学习“Java免费学习笔记(深入)”;

var arr = ["苹果", "香蕉", "橘子", "西瓜", "葡萄"];

var list = document.createElement("ul");

for(var i = 0; i <p>方法二:使用map函数</p><p>JavaScript中的数组有一个map函数,它可以将数组中的每个元素和它们的下标作为参数传给一个函数,并将处理结果返回为一个新的数组。</p><p>我们可以利用map函数将数组转化为一个新的包含列表元素的数组,并将它们插入到列表中。以下是示例代码:</p><pre>var arr = ["苹果", "香蕉", "橘子", "西瓜", "葡萄"];

var list = document.createElement("ul");

var listItems = arr.map(function(item){
    return "
登录后复制
  • " + item + "
  • "; }); list.innerHTML = listItems.join(""); document.body.appendChild(list);

    方法三:使用join函数

    JavaScript中的join函数可以将数组中的所有元素连接成一个字符串,我们可以将它们按照HTML的格式拼接成一个包含列表元素的字符串,然后将它们插入到列表中。

    以下是示例代码:

    var arr = ["苹果", "香蕉", "橘子", "西瓜", "葡萄"];
    
    var list = document.createElement("ul");
    
    var listStr = "
    登录后复制
  • " + arr.join("
  • ") + "
  • "; list.innerHTML = listStr; document.body.appendChild(list);

    以上是将数组转化为列表的三种方法。在实际应用中,我们可以根据具体需求选择不同的方法。

    在使用以上代码时,记得要将其封装在一个函数内,并将数组作为参数传入。这样代码的可复用性将更高。

    以上就是javascript怎么把数组转化为list(列表)的详细内容,更多请关注php中文网其它相关文章!

    关于范围len的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于(PHP)redis List(列表)操作、10. JSX(列表)、hbase 多个过滤器组合(列表)、javascript怎么把数组转化为list(列表)等相关知识的信息别忘了在本站进行查找喔。

    本文标签: