初识 Python
一切节省,归根到底都归结为时间的节省。——马克思
为什么学 Python
Python 应用领域非常广泛,他几乎可以跑在任何设备上,而且在处理大数据的问题上,他的优势非常明显
列表
人们对于复杂的数据的处理,习惯于把数据分类,比如日期,性别,爱好,等等.而列表就是把抽象的数据简单化,直观化来操作
- 先从简单的列表来入手
一个人在上个月看了三部电影 分别是 <<这个杀手不太冷>>, <<唐人街探案>>,<<囧妈>>
那么我们能把这些数据组成一个列表 写成这样
movies = ["这个杀手不太冷","唐人街探案","囧妈"]
- 为了把人可读的列表转换成 Python 可读的列表,需要遵寻下面 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)
# 结果
# ['这个杀手不太冷', '唐人街探案']
# 囧妈