美文网首页
列表的创建、索引与分片

列表的创建、索引与分片

作者: 5f2a6061653d | 来源:发表于2019-01-13 08:56 被阅读14次

列表是Python以及其他语言中最常用到的数据结构之一。Python中使用中括号[]来表示列表,具体示例如下:

student = [20190101, "隼与鱼", 18, 98]

列表的创建

列表是一组任意类型的值组合而成,组成列表的值称为元素,每个元素之间用逗号隔开,具体示例如下:

list1 = [1, 2, 3, 4, 5]                         # 元素为int型
list2 = ['简书', '作者', '隼与鱼']                                     # 元素为String型
list3 = ['隼与鱼', 18, 98]                         # 元素为混合类型
list4 = ['简书', ['隼与鱼', 18, 98]]                     # 列表嵌套列表

上述示例创建了4个列表,其中list4中嵌套一个列表,正是由于列表中元素可以是任意类型数据,才使得数据表示更加简单。
此外,还可以创建一个空列表,具体示例如下:

list5 = []

创建一个空列表有什么作用呢,很多情况下,编程者无法提前预知列表中包含多少个元素及每个元素的值,只知道将会用一个列表来保存这些元素。当有了空列表后,程序就可以向这个列表中添加元素。此处需注意,列表中的元素是可变的,这意味着可以向列表中添加、修改和删除元素。
列表中的元素还可以是变量,但是修改变量的值,并不会影响列表中元素的值,如下所示。

 1  name, age, score = '隼', 18, 95.5
 2  list1 = [name, age, score]
 3  print(list1)
 4  name, age, score = '鱼', 20, 100
 5  print(list1)
 6  print(name, age, score)

运行结果如下图所示。


运行结果

在上例中,第2行根据前面定义的变量创建一个列表,第4行修改变量的值。从程序运行结果可发现,变量修改前后,列表中元素的值没有发生变化。
此外,创建列表还可以通过list()函数,如下所示。

 1  list1 = list("sunyuyu")
 2  list2 = list(range(1,5))
 3  list3 = list(range(5))
 4  list4 = list(range(1, 5, 2))
 5  print(list1)
 6  print(list2)
 7  print(list3)
 8  print(list4)

运行结果如下图所示。


运行结果

在上例中,第1行将字符串中每个字符作为列表中的每个元素。第2行到第4行通过range()函数生成的一系列整数作为列表的元素,range()函数的用法如下表所示。

函数 说明
range(start,end) 返回一系列整数从start开始,到end-1结束,相邻两个整数差1
range(end) 返回列一系列整数从0开始,到end-1结束,相邻两个整数差1
range(start,end,step) 返回一系列整数从start开始,相邻两个整数差step,结束整数不超过end-1

列表的索引与分片

列表的索引与字符串的索引类似,都分为正向与反向索引,如下图所示。


列表索引.png

在上图中,列表中每一个元素都对应两个下标,例如索引列表中元素5,可以通过以下两种方式:

list1[4]
list1[-4]

列表的分片与字符串的分片也类似,列表的分片可以从列表中取得多个元素并组成一个新列表,接下来演示列表的分片,如下所示。

 1  list1 = [1, 2, 3, 4, 5, 6, 7, 8]
 2  print(list1[2:6])
 3  print(list1[2:6:2])
 4  print(list1[:6])
 5  print(list1[2:])
 6  print(list1[-6:-2])
 7  print(list1[-6:-2:2])
 8  print(list1[::-2])

运行结果如下图所示。


运行结果

在上例中,注意对原列表进行分片操作后返回一个新列表,原列表并没有发生任何变化。

相关文章

  • 列表的创建、索引与分片

    列表是Python以及其他语言中最常用到的数据结构之一。Python中使用中括号[]来表示列表,具体示例如下: 列...

  • 搜索引擎ElasticSearch之(2)、索引管理

    1、索引管理 1.1、索引创建 创建索引主要设置主分片及副分片数量。索引创建后,主分片数不能更改,可以修改副本分片...

  • 03.列表操作

    列表的操作 基本操作列表迭代与解析索引与分片列表数据操作其他操作 1. 基本操作 2. 列表迭代与解析 3. 索引...

  • 2020-01-09

    列表与元组 通用序列操作 索引 、分片、序列相加、乘法、成员资格、长度、最小值和最大值 索引 indexing 分...

  • Elasticsearch(三)——Settings

    设置索引的分片 7.0之前默认会创建5个shared,7.0开始之后创建一个shard 获取设置 修改分片 创建设...

  • 类型和运算(三):列表

    类型:列表 python列表与字符串一样作为序列的一种。但与字符串不同的是,它没有固定的大小。列表支持索引和分片的...

  • 配置高性能 Elasticsearch 集群的 9 个小贴士

    小贴士1:规划索引、分片 以及集群增长情况 ES使得创建大量索引和超大量分片非常地容易,但更重要的是理解每个索引和...

  • ES 调整分片和副本数

    一、调整副本数 如调整副本数为0 返回 二、调整索引分片 索引分片数在索引创建好了之后就不能调整了,只能重建索引 ...

  • 3.文档索引极其管理

    1.倒排索引原理图 原理图: 2.指定分片数,分片副本数创建索引 (未指定情况下使用默认值) # 指定分片数(...

  • 修改ES索引分片副本数

    索引一旦创建无法修改分片数,但是可以使用reindex重建索引。可以修改单个索引副本数量 新建模板修改默认分片数查...

网友评论

      本文标题:列表的创建、索引与分片

      本文链接:https://www.haomeiwen.com/subject/bhqagftx.html