列表的概念

初识 Python

一切节省,归根到底都归结为时间的节省。——马克思

为什么学 Python

Python 应用领域非常广泛,他几乎可以跑在任何设备上,而且在处理大数据的问题上,他的优势非常明显

列表

人们对于复杂的数据的处理,习惯于把数据分类,比如日期,性别,爱好,等等.而列表就是把抽象的数据简单化,直观化来操作

  • 先从简单的列表来入手

一个人在上个月看了三部电影 分别是 <<这个杀手不太冷>>, <<唐人街探案>>,<<囧妈>>

那么我们能把这些数据组成一个列表 写成这样


movies = ["这个杀手不太冷","唐人街探案","囧妈"]
  • 为了把人可读的列表转换成 Python 可读的列表,需要遵寻下面 4 个步骤
  1. 在数据两边加引号,将各个电影名转换为字符串

  2. 用逗号将列表与下一项分隔开

  3. 在列表的两边加上开始和结束中括号

  4. 使用赋值操作符(=)将这个列表赋值至一个标识符(以上代码中的 movies)

Python 中变量标识符没有类型,标识符只是名字,可以指示某个类型的数据对象.可以把 Python 的列表想象成一个容器,对于列表来说,数据项的类型并不重要,当然可以说电影列表是一个”字符串的集合”,不过 Python 并不需要知道知道这一点.Python 所知道的就是你仅仅需要一个列表,然后为他指定了名字,这个列表包含了一些数据.

  • 字符串单引号双引号没有区别。但是不用混用。如果非要使用双引号必须用转义字符”"
print("今天\'测试\'单引号有了吗")
# 结果
# 今天'测试'单引号有了吗
  • 标识符的定义只能是字母数字或一个下划线。但是不能一字母开头

  • 标识符区分大小写

  • str(值)是强制把值变成字符串

  • int(值)是强制把值变成数字

  • 数字必须先变成字符串才能和字符串拼接在一起

列表就像是数组

  • 在 Python 创建一个列表时,解释器会在内存中创建一个类似数组的数据结构来存储数据,数据项由上向下堆放(形成一个堆栈),堆栈中的第一个槽编号为 0,第二个槽编号为 1,第三个编号为 2

movies = ["这个杀手不太冷","唐人街探案","囧妈"]

# 这个杀手不太冷 序号就是0

# 唐人街探案  序号就是1

# 囧妈 序号就是2

他存到内存里的顺序就是:

囧妈->唐人街探案->这个杀手不太冷

堆栈就是先进后出

判断是否是一个数组

  • type(值) is

movies = ["这个杀手不太冷","唐人街探案","囧妈"]

if type(movies) is list:
  print ("True")
else:
  print("False")

# 结果

# True

字符串也可以转换成数组需要通过 list 函数


arr2 = '["第一个","第二个","第三个"]'

result = list(arr2)

if type(result) is list:
    print("转换成功")
else:
    print("转换失败")

# 结果
# 转换成功

使用中括号访问列表中的数据

  • 像数组一样,访问列表中一个数据可以通过[序号],序号要是负的就是从后面开始

movies = ["这个杀手不太冷","唐人街探案","囧妈"]
print(movies[1])
print(movies[-2])
# 结果
# 唐人街探案
# 唐人街探案
  • 也可以通过 index()访问出数据在列表中的位置
arr = ['这个杀手不太冷', '唐人街探案', '囧妈', '杀死比尔', '蓝色生死恋', "终结者", "复仇者联盟"]
result = arr.index("囧妈")
print(result)

# 结果
# 2

获取列表的个数 len()

  • 随着数据越来越多,我希望统计下数组里面的个数,这个时候就需要用到 len()函数

movies = ["这个杀手不太冷","唐人街探案","囧妈"]
print(len(movies))

给列表中添加数据

当我们需要给列表中添加数据,可以采用两种办法

  • insert(位置序号,内容),他可以插入到任意位置

  • append(内容) 他只能插入到列表的末尾

  • extend(数组) 把括号里新的数组放入到老的数组末尾

在末尾插入


movies = ["这个杀手不太冷","唐人街探案","囧妈"]

movies.append("杀死比尔")

print(movies)

# 最后的结果

# ['这个杀手不太冷', '唐人街探案', '囧妈', '杀死比尔']

在任意位置插入


movies = ["这个杀手不太冷","唐人街探案","囧妈"]

# 1的位置就是唐人街探案 那么在他前面插入就获取到序号,插入的数据都是放在前面
movies.insert(1,"杀死比尔")

print(movies)

#结果

# ['这个杀手不太冷', '杀死比尔', '唐人街探案', '囧妈']

不想一个个插入,想一次性插入


movies = ["这个杀手不太冷", "唐人街探案", "囧妈"]

movies2 = ["杀死比尔", "蓝色生死恋"]

movies.extend(movies2)

print(movies)

# 结果

# ['这个杀手不太冷', '唐人街探案', '囧妈', '杀死比尔', '蓝色生死恋']

给列表中删除数据

列表中删除数据由两种方法 remove() pop()

  • remove() 删除指定的值

  • pop(序号) 删除末尾,要是里面写序号了就删除指定的序号值,还能获取到删除的值

删除列表中指定的值


movies = ["这个杀手不太冷", "唐人街探案", "囧妈"]

movies.remove("唐人街探案")

print(movies)

# 结果

# ['这个杀手不太冷', '囧妈']

删除末尾和指定的值

pop(序号) 删除末尾,要是里面写序号了就删除指定的序号值,还能获取到删除的值

  • 删除任意位置

movies = ["这个杀手不太冷", "唐人街探案", "囧妈"]

result = movies.pop(1)

print(movies)

print(result)

# 结果

# ['这个杀手不太冷', '囧妈']
# 唐人街探案
  • 删除末尾的值

movies = ["这个杀手不太冷", "唐人街探案", "囧妈"]

result = movies.pop()

print(movies)

print(result)

# 结果
# ['这个杀手不太冷', '唐人街探案']
# 囧妈

文章作者: 雾烟云
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 雾烟云 !
  目录