No.4列表&元组
No.4
今日概要
- 列表
- 元组
- 字典
- 集合
内容回顾和补充
-
计算机基础
-
硬件
-
操作系统
- Linux(免费/开源)
- centos
- ubuntu
- redhat
- windows
- mac
- Linux(免费/开源)
-
解释器/编译器
-
补充:编译型语言和解释型语言
#编译型:代码写完后,编译器将其全部转变成另一个文件,再交给计算机执行。 #解释型:代码写完后,解释器从上到下逐行转变交给计算机执行,一边解释一边执行。(实时翻译)
-
-
软件(应用程序)
-
-
环境的安装
- python解释器
- py2
- py3
- 开发工具IDE:pycharm
- python解释器
-
语法
-
解释器路径:hellow.py
#!/usr/bin/env python print('你好')Linux系统应用:
- 赋予文件可执行权限
- ./hellow.py
- 输入此命令后会自动找文件第一行,根据第一行内容寻找解释器路径。
-
编码
#!/usr/bin/env python # -*- coding:utf-8 -*- print('你好')- 编码种类
- acsii
- unicode
- utf-8 / utf-16
- gbk / gb2312
- 中文表示
- utf-8:3字节
- gbk:2字节
- 编码种类
-
输入输出
- py2
- 输入:raw_input()
- 输出:print+空格
- py3
- 输入:input()
- 输出:print()
- py2
-
数据类型
-
int
- 类型
- py2:int / long
- py3:int
- 强制转换:int()
- 除法
- py2:取整(要变正常需要加一行代码)
- py3:正常
- 类型
-
bool
- Ture/False(其它语言:ture/false)
- 转bool值为False的其它类型:0 和 ""
-
str
-
独有功能
-
.upper() / .lower()
-
.isgidit()
-
.strip() / .lstrip() / .rstrip()
-
.replace( , , )
-
.split( , ) / rsplit( , )
-
补充
-
.startswith( ) / .endswith( )
name = 'alex' #判段是否以al开头 flag = name.startswith('al') print(flag) 结果True #判断是否以ex结尾 flag2 = name.endswith('ex') print(flag2) 结果True -
.format( , ,...)
msg = '我的姓名是{0},我的年纪是{1}岁。'.format('老男孩','18') print(msg) -
.encode('编码')
neme = '李杰' #解释器读取到内存后,按照unicode编码存储,占了8个字节。 v1 = neme.encode('utf-8') print(v1) v2 = name.encode('gbk') print(v2) -
.join()
name = 'alex' s = '_'.join(name) print(s) 结果: a_l_e_x
-
-
-
公共功能
-
索引:获取单个元素
-
切片:获取多个元素(子序列)
-
步长
name = 'abcdabcd' v = name[-1:] print(v) 结果:d #步长默认是1,且默认往后找。 name = 'abcdabcd' v = name[-1:0] print(v) 结果:空 #面试题将字符串反转 name = 'alex' v = name[-1::-1] print(v) -
长度
-
for循环
name = 'alex' for item in name: print(item) name = 'alex' for item in name: print(item) break print('123') name = 'alex' for item in name: print(item) continue print('123')#习题:循环打印 1 ~ 10 for i in range(1,11): print(i)注意:for和while的应用场景。有穷尽先用for,无穷尽用while。
-
-
-
-
变量
-
注释
-
条件语句
-
循环语句
- while
- for
-
运算符
-
字符串格式化
- %s
- %d
- %%
-
其它
- markdow笔记
- git
- 本地:git软件
- git status
- git add .
- git commit -m '提交记录'
- git push origin master
- 远程:码云 / github(程序员交友平台)
- 本地:git软件
-
总结
- 语法
- 必备:变量 / if / while
- 重点:字符串
- 独有功能
- 公共功能
- for
- 解决实际问题
- 逻辑 + 代码
- 语法
-
内容详细
01.列表List
如果想要表示两个人名,虽然使用字符串可以做到,但是很难索取分别输出。
users = '张三,李四'
以后想要表示多个元素可以使用列表。
users = ['张三','李四','王五',100]
-
公共功能
-
长度
users = ['张三','李四','王五',100] val = len(users) print(val) 结果:3 -
索引
users = ['张三','李四','王五',100] val = users[0] print(val) 结果:张三 #类型str -
切片
users = ['张三','李四','王五',100] val = users[0:2] print(val) 结果:['张三', '李四'] -
删除(int/bool/str除外)
users = ['张三','李四','王五',100] del users[1] print(users)注意:
- 字符串本身不能被修改(不可变类型) m = 'alex'.upper()
- 列表是可变类型
-
修改(int/bool/str除外)
users = ['张三','李四','王五',100] users[3] = 66 users[0] = '赵四' #users[0][1]不可修改 -
步长
users = ['张三','李四','王五',100] val = users[0:2:2] print(val) 结果:['张三'] #类型list#习题 content = input('请输入:') n = content.split('+') print(n) v1 = int(n[0]) #转换的时候,字符串两边空格会自动去除,中间若有空格会报错。 v2 = int(n[1]) v3 = v1 + v2 print(v3) -
for循环
users = ['张三','李四','王五',100] for i in users: print(i)
-
-
独有功能
-
追加模式:.append(元素)
#示例:用户名密码录入+效验 users = [] for i in range(0,3): name = input('请输入用户名和密码:') users.append(name) print(users) username = input('请输入用户名:') password = input('请输入密码:') for item in users: result = item.split(' ') user = result[0] pwd = result[1] if user == username and pwd == password: print('登陆成功') break -
插入模式:.insert(索引,元素)
lst = ["林俊杰", "周润发", "周芷若"] print(lst) lst.insert(1,'李连杰') print(lst) -
特定删除:.renmove(元素)
-
索引删除:.pop(索引)
-
列表清空:.clear()
-
-
总结:
-
增:
- append / insert
-
删:
- remove / pop / clear / del list[索引]
-
改:
- list[索引] = 新元素
-
查:
- 索引/切片
-
列表嵌套
lst = ["林俊杰", "周润发", "周芷若",['张三',['李四','王五',88],'李连杰'],100] lst[0] lst[3] lst[3][1] # ['李四','王五',88] lst[3][1][2] # 88
-
02.元组Tuple
lst = ['张三','李四','王五',100] # 列表可变类型
tup = ('张三','李四','王五',100) # 元组不可变类型
-
公共功能
-
索引(排除:int/bool)
tup = ('张三','李四','王五',100) print(tup[0]) print(tup[-1]) -
切片(排除:int/bool)
tup = ('张三','李四','王五',100) print(tup[0:2]) -
步长(排除:int/bool)
tup = ('张三','李四','王五',100) print(tup[0:2:2]) -
for循环(排除:int/bool)
tup = ('张三','李四','王五',100)
for item in tup:
print(item)7. 长度(排除:int/bool) ```python tup = ('张三','李四','王五',100) print(len(tup)) -
-
没有独有功能
-
特殊:元组中的元素不可被修改和删除
v1 = (11,22,33) v1[2] = 999 #错误 v1 = 999 #正确 元组可以嵌套 v1 = (11,22,33,(44,55,66),(77,88,(99,111),222)) 列表嵌套元组 v1 = [11,22,33,(11,22,33)] v1[-1][1] = 999 #错误 v1[-1] = 999 #正确 元组嵌套列表 v1 = (11,[1,2,3],22,33) v1[1] = 999 #错误 v1[1][2] = 999 #正确
总结
-
解释型语言和编译型语言区别
-
字符串补充功能
-
独有
- startswith / endswith
- format
- encode
- join
-
公共
-
索引
-
切片
-
步长(面试题)
-
for循环
- range
-
len
-
-
特性
- 不可变(str数据元素不可以删除和修改)
-
-
git本地和远程要同步,以后之操作本地别操作远程。
-
列表(可变)
- 公共
- 索引
- 切片
- 步长
- 修改
- 删除
- for
- len
- 独有
- append
- insert
- pop
- remove
- clear
- 嵌套
- 公共
-
元组(不可变)
- 公共
- 索引
- 切片
- 步长
- for
- len
- 无独有功能
- 嵌套
- 公共

浙公网安备 33010602011771号