基本数据类型—列表

Posted chairlin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基本数据类型—列表相关的知识,希望对你有一定的参考价值。

引子

之前我们已经掌握了python中的两种数据类型,现在我们已经知道如果想表示咱们班有多少同学,应该使用int整形,如果想表示班里同学的名字,应该使用str字符串型。但是,现在我想表示全班同学的名字,应该用什么呢?

用我们现在学习的知识能解决问题么?

也许有的同学说,可以使用一个长字符串,把所有同学的名字都写进去,可是问题来了。

比如当某一个同学学的太差被学校开除了,我要在一长串字符中找到一个名字并且把他删除,是不是就变得格外麻烦?

这种情况下,我们就想,要是python给我们提供一种新的数据结构,可以存储很多个字符串,能让我们方便的添加修改和删除,就完美了。

列表的定义和创建

定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素

列表的创建

list_test=[‘张三‘,‘李四’,‘alex‘]
#或
list_test=list(‘alex‘)
#或
list_test=list([‘张三‘,‘李四’,‘alex‘])

列表的特点和常用操作

特性:

1.可存放多个值

2.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

技术图片

3.可修改指定索引位置对应的值,可变

常用操作:

#索引
>>> l = [‘egon‘,‘alex‘,‘seven‘,‘yuan‘]
>>> l[0]
‘egon‘
>>> l[2]
‘seven‘

#切片
>>> l[0:2]
[‘egon‘, ‘alex‘]
>>> l[2:5]
[‘seven‘, ‘yuan‘]
>>> l[:2]
[‘egon‘, ‘alex‘]
>>> l[2:]
[‘seven‘, ‘yuan‘]
>>> l[:]
[‘egon‘, ‘alex‘, ‘seven‘, ‘yuan‘]
>>> l[::2]
[‘egon‘, ‘seven‘]
>>> l[::-1]
[‘yuan‘, ‘seven‘, ‘alex‘, ‘egon‘]

#追加
>>> l.append("eva")
>>> l
[‘egon‘, ‘alex‘, ‘seven‘, ‘yuan‘, ‘eva‘]

#删除
>>> l.remove(‘eva‘)
>>> l
[‘egon‘, ‘alex‘, ‘seven‘, ‘yuan‘]
>>> l.pop()
‘yuan‘
>>> l
[‘egon‘, ‘alex‘, ‘seven‘]

#长度
>>> len(l)
3

#包含
>>> ‘seven‘ in l
True
>>> ‘yuan‘ in l
False

#循环:为什么是“i”?
>>> for i in l:
    print(i)


egon
alex
seven

列表与字符串——split和join

#分割
>>> s = ‘hello world‘
>>> s.split(‘ ‘)
[‘hello‘, ‘world‘]
>>> s2= ‘hello,world‘
>>> s2.split(‘,‘)

#连接
>>> l = [‘hi‘,‘eva‘]
>>> ‘!‘.join(l)
‘hi!eva‘

range

引子:

现在已经学了列表了,那现在同学们来一起创建一个从1-100的列表。

等1分钟,你们都打算怎么创建啊?

是直接从1写到100还是用循环?如果从1写到100未免太傻气了,用循环好像还好一点儿。但是用循环写还不够简单,在python里有一个现成的方法,可以直接生成一个1-100的数。

>>> range(1,100)
range(1, 100)
>>> list(range(1,100))
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 
 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56,
 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 
 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
>>> list(range(10))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(range(0,100,2))
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 
56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98]

只介绍range的调用和参数传递,先不强调range是一个生成器,先让大家用list将range转换成一个列表使用即可

以上是关于基本数据类型—列表的主要内容,如果未能解决你的问题,请参考以下文章

在片段中创建自定义列表视图时出错所需活动,找到片段

(转) Java中的负数及基本类型的转型详解

13 个非常有用的 Python 代码片段

Android 上的 Kotlin:如何在片段中使用数据库中的 LiveData?

什么是归纳定义的数据类型?

Python--基本的对象类型(列表_可变的数据类型)