【Python学习笔记:3】列表+查询操作+元组+字符串+字典+集合

列表

列表遍历

while遍历

语法

索引 = 0
长度 = len(列表)
while 索引 < 长度:
	元素 = 列表[索引]
	索引 += 1

for循环

语法

for 变量 in 列表:
	循环体

while & for

  • for 从头到尾 依次 从 列表 取出每一个元素,执行效率高(明确循环次数的循环)
  • while 控制索引灵活第从列表取出元素(不明确循环次数的循环)

列表嵌套

列表中的元素(值)也是列表类型的值

注意

  • 列表可存储不同类型的数组(不推荐),建议存储相同类型相同语义的数据
  • 列表索引不能超出列表所在范围,否则无法取出数据

列表生成

# nums = []
# for num in range(1, 101):
#     if num % 2 == 0:
#         nums.append(num)
#
# print(nums)

# 与上面等价
nums = [num for num in range(1, 101) if num % 2 == 0]
print(nums)

查询

查询指定索引的 数据

语法
值 = 列表[索引]

注意:索引为负数,代表倒着数第几个,如:-1 是倒数第一个

查询指定索引范围的数据(切片)

切片 slice 是对序列型对象(如 list,string,tuple)的一种高级索引方法
普通索引只取出序列中一个下标对应的元素,切片是取出序列中 一个范围 对应的元素

语法
新的列表 = 列表[起始索引:结束索引:步长]

原则

  • 左闭右开(包含起始索引,不包含结束索引)
  • 起始索引可不写,默认从头开始,但冒号(:)不可省
  • 结束索引可不写,默认取完
  • 步长:取下一个数据时,跨几步;
    • 可不写,默认为 1
    • 可为复数,复数代表倒着走
  • 切片得到的是一个新的列表,不修改原来的列表

注意:切片的代码运行过程是,首先确定开始索引,然后根据步长一次取下一个元素,直到取到结束索引

例如:

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[2:7]) # [30, 40, 50, 60, 70]
print(nums[1:]) # [20, 30, 40, 50, 60, 70, 80, 90]

colors = ['red', 'green', 'blue', 'yellow', 'while', 'black']
print(colors[0:3:1]) # ['red', 'green', 'blue']
print(colors[-1:-5:-1]) # ['black', 'while', 'yellow', 'blue']

查询数据第一次出现的索引

语法
索引 = 列表.index(数据)

例如

scores = [10, 20, 30, 20]
print(scores.index(20))

查询列表长度

语法
长度 = len(列表)

例如:

scores = [10, 20, 30, 20]
print(len(scores))

修改列表元素

语法
列表[索引] = 新的值

例如:

scores = [10, 20, 30, 20]
scores[0] = 40
# 输出 scores 是:[40, 20, 30, 20]

元组

Python 元组(Tuple)和列表(List)类似,但元组不可修改
关于数据类型与括号

  • 元组使用小括号
  • 列表使用方括号
  • 字典使用大括号

语法
变量 = (数据1, 数据2, ...)

注意

  • 元组中的元素不可被修改,别的操作和列表一样
  • 通过小括号()定义一个元组
  • 列表每个元素通过逗号分割
  • 列表中每个元素都有对应的索引,索引是元素在元组中的位置编号,又称下标,索引从 0 开始

元组特殊用法

给多个变量赋值

info = ('Anna', '女', 18)
name, sex, age = info
print(f'姓名:{name} 性别:{sex} 年龄:{age}')

定义单元素元组

方法一:类型转换

tmp = tuple([10])

方法二:加逗号

tmp = (15,)

列表和元组之间的转换

语法:列表转为元组
tuple(列表)

语法:元组转为列表
list(元组)

字符串

存储字符类型的 不可变的 序列 容器
不可变:指字符串一旦定义,其内存地址就被确定,不能被改变

转义字符

通过可把无意义的字符转换为具有特定功能的字符
在一些字符前加’'使它具有其他意义

例如:

\n 代码换行
\t 代表制表符(tab键)
\ 代表字符

特殊用法

单引号和多引号在字符串中的注意事项

  • 计算机的编程语言中:单引号必须交替使用,否则语法会出错
  • 如果字符串出现了相同的引号,必须通过转义字符转义为一个普通的引号
  • 在单双引号交替使用时,转义符无意义
  • 双引号""定义字符串

字符串内容操作

字符串中每一个字母或数字以及符号,被称为字符串中的值(字符)

访问字符

语法
字符 = 字符串[索引]

取出部分字符(切片)

语法
子字符串 = 字符串[开始:结束:步长]

步长也可是负数,为负数时倒叙截取

while 和 for 循环可遍历字符串

字符串常见操作

去除左右两边空格

语法
string.strip() 去除两边空格
string.lstrip() 去除左边空格
string.rstrip() 去除右边空格

默认情况 strip 去除空格,但也可指定去除的字符

语法
string.rstrip("要去除的字符")

字符串分割

语法
string.split() 按照空格字符串分割,返回一个列表
string.split("分隔符") 按照指定分隔符分割,返回一个列表
string.split("分隔符", 分割次数) 按照指定分隔符分割,分割指定次数,返回一个列表
string.rsplit("分隔符", 分割次数) 从后面开始按照指定分隔符分割,分割指定的次数,返回一个列表

大小写转换

语法
string.lower() 转换为小写
string.upper() 转换为大写

判断开头或结尾的字符

语法
string.startswith("开头字符")
string.endswith("结尾字符")

字符串格式化函数

语法
"需要格式化的字符"%(数据1, 数据2)
string.format("数据1", "数据2", "数据3")

字符串连接

语法
string.join(列表)

字符串替换

语法
string.replace("原文", "替换文")

判断字符串由数字组成

语法
string.isdigit()

字典

一种映射关系,键值对的形式
语法
d = {key1:value1, key2:value2}

注意

  • 每对键值对用冒号(:)分割,每个键值对之间用逗号(,)分割,整个字典包括在花括号({})中
  • 键必须是唯一的,值可以不是唯一的
  • 值可是任意类型,但键必须是不可变的,例如字符串、数字或元组(工作常用字符串)

字典函数速查

操作字典:增加、删除、修改、查询

增加/修改语法

字典[key] = value

查询语法

字典[key]

删除语法

del 字典[key]
or
字典.pop(key)

集合

无序、无重复元素序列
使用大括号({})或 set() 函数创建集合
注意:创建一个空集合必须使用 set() 而不是大括号(大括号是创建一个空字典)

创建语法
param = {value1, value2, ...}
or
set()

其他类型转换集合语法
变量名 = set(字符串数据|列表数据|字典数据)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饭碗、碗碗香

感谢壮士的慷概解囊!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值