py遍历字符串的每个字符_5. 高级数据类型(数据结构)——列表list、元组tuple、字典dict、字符串string...

列表list

一、概念

List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组

  • 列表专门用于存储 一串 信息
  • 列表用 [] 定义,数据 之间使用 , 分隔
  • 列表的索引从0开始
  • 索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标

1e2ea15de0efdac9970c88d764370b5b.png

二、常用操作

94669b8b7ee1c70c294d93f4b6461e79.png
知识点串联:tuple没有增删改,只有查

三、练习题

关卡一:

  • 列表和普通变量有什么区别 ?

变量只可以存储单个数据 列表可以存储多个不同类型的数据

  • 怎样测量列表中元素的个数?
len
  • 怎样获取列表的某个元素
列表[索引] 
  • 解释一下什么是越界
假如一个列表 list1 = [11,22,33] 三个元素 索引分别是 0、1、2 如果我们在取值时 超出了列表list1中元素下标的范围 那么就会 越界 报出异常 IndexError: list index out of range
  • 怎么想列表中添加元素?
 append() 、 extend() 、 insert() 
  • 如何删除列表中的某个元素?
del pop() remove() 

关卡二:

已知一个列表 lst = [1,2,3,4,5]

  • 求列表的长度
len(list) 
  • 判断6 是否在列表中
if 6 in lst 
  • lst + [6, 7, 8] 的结果是什么?
[1,2,3,4,5,6,7,8] 
  • lst*2 的结果是什么
[1,2,3,4,5,1,2,3,4,5] 
  • 列表里元素的最大值是多少
max(lst) 
  • 列表里元素的最小值是多少
min(lst) 
  • 列表里所有元素的和是多少
sum(lst) 
  • 在列表的末尾新增一个元素20
lst.append(20) 

关卡三:

  • 如何修改列表中的某个元素? 直接根据索引来修改
列表[要修改的元素的索引] = 值 
  • 如何去查找列表中某个元素所对应的下标?
列表.index(元素) 
  • 已有列表nums=[11,22,33,44,55],使用for循环遍历列表
# 已有列表nums=[11,22,33,44,55],使用for循环遍历列表 
nums=[11,22,33,44,55] 
for i in nums:     
    print(i) 
  • 已有列表nums=[11,22,33,44,55],使用while循环遍历列表
# nums=[11,22,33,44,55],使用while循环遍历列表 
nums=[11,22,33,44,55] 
i=0 
while i <len(nums):     
    print(nums[i])     
    i=i+1 
  • 已有列表nums=[14,22,63,21,5],将其从小到大排序
# 已有列表nums=[14,22,63,21,5],将其从小到大排序 
nums=[14,22,63,21,5] 
nums.sort() 
print(nums)  

元组tuple

一、概念

c3f4927e7e4b291d486a60990add7a29.png

point 1:元组具有的不可修改的特性,所以没有 增加、删除、修改 的方法,只有查询功能。但是,如果元组中的元素如果为列表/字典时,则可以修改列表/字典中的元素的值

a = [1, 2]# list  
b = (a, 3) 
print(b) 
a.append(3) 
print(b) 

输出结果:

([1, 2], 3) ([1, 2, 3], 3)

point 2:元组中 只包含一个元素 时,需要 在元素后面添加逗号,不加就不是元组了

info_tuple = (50, ) 
print(type(info_tuple))  
int_tuple=(50) 
print(type(int_tuple)) 

输出结果:

<class 'tuple'>

<class 'int'>

二、常用操作

e7e6137850b66ad8e91a8e49a393da23.png

三、练习题

  1. 元组定义的格式? 元组用() 定义
  2. 元组和列表的区别? 元组的元素不能修改

字典Dict

一、概念

字典用 {key:value,...} 定义

  • 字典使用键值对(key、value对)存储数据,键值对之间使用,分隔
    • key 是索引:注意索引不再是 0,1,2... 了,虽然可以用数字,但是一般使用字符串
    • value 是数据
    • 键 和 值 之间使用 : 分隔
    • 键必须是唯一的:如果有多个,后者会覆盖前者
    • 值 可以取任何数据类型,但 键 只能使用 字符串、数字或 元组
xiaoming 
  • dictionary(字典) 是 除列表以外 Python 之中 最灵活 的数据类型
  • 字典同样可以用来存储多个数据
    • 通常用于存储 描述一个 物体 的相关信息
  • 和列表的区别
    • 列表 是 有序 的对象集合
    • 字典 是 无序 的对象集合

e16c2848b20fd675a5ef782f5e5a51d4.png

二、常用操作

cc9ee6e19595193fae5afef7fd714b55.png

三、练习题

(1)

string = "hello python"  
#使用for循环,遍历string中每个字符 
for i in string:     
  print(i) 

(2)

  • 字典和列表的不同以及使用字典的目的

字典是以键值对的形式来存储数据的,字典是无序的,通过键获取到对应值列表是有序的,通过下标来获取值使用字典可以存储一些有标识性的数据,可以为数据起一个特定的名字

  • 创建一个字典 user 键分别是 name、age、gender 值分别是张三、18、男
user = {“name”:“张三”, "age":18, "gender":"男"} 
  • 怎么去取得字典中所有的key?
字典.keys() 
  • 怎么去取得字典中所有的value?
字典.values() 
  • 怎么去获得字典中所有key、valuue?
字典.items() 
  • 说出字典删除操作的几种方式?
del 字典[key] 
字典.pop("key") 
字典.popitem() 
字典.clear() 
  • 编程:使用字典来存储一个人的信息(姓名、年龄、学号、QQ、微信、住址等),这些信息来自 键盘的输入

f2798527a2905afbfb7c3c52a09cda3a.png

字符串String

一、概念

  • 字符串 就是 一串字符,是编程语言中表示文本的数据类型
  • 在 Python 中可以使用一对双引号"或者一对单引号'定义一个字符串
    • 虽然可以使用"或者'做字符串的转义,但是在实际开发中:
      • 如果字符串内部需要使用 ",可以使用 ' 定义字符串
      • 如果字符串内部需要使用 ',可以使用 " 定义字符串
  • 可以使用 索引 获取一个字符串中 指定位置的字符,索引计数从 0 开始
  • 也可以使用 for 循环遍历 字符串中每一个字符
string = "hello python"  
#使用for循环,遍历string中每个字符 
for i in string:     
  print(i) 
output:
h
e
l
l
o
 
p
y
t
h
o
n

e5d83594545cb8572b1aa0b1da190a15.png

二、常用操作

1) 判断

ce00116bbd355a7728c0f209e47fb35e.png

2) 查找和替换

4b13a37415f823ba9d65aaa091206e17.png

3) 拆分和连接

bf78a52de41bbbe9faf37a0cb7e2acfa.png

4) 大小写转换

28ff618da4f0597969955d2669ea225f.png

5) 文本对齐

51f041661d53729979b36a68e6d502b2.png

6) 去除空白字符

2e69ac2e9a8a7487d781692c0f1b287f.png

提示:列表除了查询方法和pop方法都没有返回值,字符串所有方法都有返回值

三、切片(切片方法适用于字符串string、列表list、元组tuple)

1. 基础概念

1353ea3d47074fb90e135eb7b6349bc3.png
字符串[开始索引:结束索引:步长] 

——左闭右开

2. 练习题

(1)

# 截取从 2 ~ 5 位置 的字符串
print(string[2:6])
# 截取从 2 ~ 末尾 的字符串
print(string[2:])
# 截取从 开始 ~ 5 位置 的字符串
print(string[:6])
# 截取完整的字符串
print(string[:])
# 从开始位置,每隔一个字符截取字符串
print(string[::2])
# 从索引 1 开始,每隔一个取一个
print(string[1::2])
# 截取从 2 ~ 末尾 - 1 的字符串
print(string[2:-1])
# 截取字符串末尾两个字符
print(string[-2:])
# 字符串的逆序(面试题)**************
print(string[::-1])

(2)

  • python中字符串的组成及表示规则是怎样的?

由单引号或者双引号包含起来的就是字符串

  • 如何理解下标,怎么使用下标来获取字符串中的某个字符?

字符串、列表等都是有序的,下标相当于他们的位置,从左往右,从0开始起算

可以使用下标来获取字符串中的某个字符,比如

str1 = “haha” str1[0] -----》 h 
  • 如何理解切片,怎么使用切片来获取字符串中的一些字符?

切片可以通过下标对字符串做截取,用法

[起始位置下标:结束位置:步长]  

左闭右开。

步长如果是负数,意味着从右往左;

步长如果是正数,意味着从左往右步长默认为1

  • 怎样判断一个变量是否是字符串类型?
type(变量名) 
  • 怎样测得字符的长度?
len(字符串) 
  • 有"100"和100,它们有什么区别么??

“100” 是字符串 str100 是整数 int

  • 怎样将"100"转换为100?
 int("100") -----> 100 
  • 字典和列表的不同以及使用字典的目的

字典是以键值对的形式来存储数据的,字典是无序的,通过键获取到对应值列表是有序的,通过下标来获取值使用字典可以存储一些有标识性的数据,可以为数据起一个特定的名字

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值