Python数据结构

本文深入探讨了Python的数据结构,包括序列概念、列表、元组和集合。介绍了序列的索引、切片、加法和成员关系操作,以及列表的基础、操作和方法。详细讲解了列表的元素修改、数据类型转换、列表推导式等,还涵盖了元组的不可变特性和集合的相关操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python的数据结构类型:

字符型

字典

列表

元组、集合

一、序列概念

序列:是Python中的多种数据类型的统称,比如字符串,列表都是序列

序列类型的对象是可以进行循环遍历的

1.1序列特性

索引:指的就是在序列中找到指定的元素的哪个编号

【案例】

s1 = "abcdef"

print(s1) 输出 abcdef

print(s1[0]) 输出 a

print(s1[1]) 输出 b

print(s1[2]) 输出 c

切片:指的就是从序列中提取一部分内容

s1 = "abcdef"

print(s1) 输出 abcdef

print(s1[2:5]) 输出 cde

加法:序列对象可以将多个序列合并成一个

s1 = "abc"

s2 = "def"

s = s1 + s2

print(s) ==>abcdef

乘法:可以将序列通过乘法输出多个相同的

s1 = "#"

print(s1 * 30) ==> 打印连续30个#

成员关系:判断序列中是否有这个元素

s1 = "abcdef"

if "c" in s1:

pass

1.2序列操作

1)索引操作

格式

序列名[索引值]     注意:索引值是从0开始的

# 案例1:
str1 = "hello"    # 定义一个序列
print(str1[0])    # 通过索引值 0 取出这个序列中的第一个元素

# 案例2:
str = input("请输入内容: ")[2]
print(str)

案例:注意输出 s1 ="abcdef" 中的每个字符

# ==================方法1=========================
s1 = 'abcdef'
for char in s1:
    print(char)

# ==================方法2=========================
s1 = 'abcdef'
# 获取s1字符串中的字符个数,将字符数赋值给变量num
num = len(s1)
for n in range(0,num):
    print(s1[n])

2)切片操作

格式:

序列名[索引值1:索引值2]      
  • 索引值1 表示从哪个索引位置开始

  • 索引值2 表示到哪个索引位置结束,结果不不包含索引值2

案例:

str = "abcde boys, i am zxhk"
res1 = str[3:]     # 从第4个字符开始,到末尾结束
res2 = str[3:9]    # 从第4个字符开始,到第8个字符结束

print(res1)     # 输出结果是  de boys, i am zxhk
print(res2)     # 输出结果是  de boy

3)加法操作

str1 = "hello "
str2 = "boys"
str = str1 + str2
print(str)

案例:让用户随意输入内容,实现用户输入的内容始终在框内,而且居中【用加法操作是现实】

# coding = utf-8

userInput = input("请输入:")

num = len(userInput)

space_num = 10

content1 = "+"  +  "-" * (space_num*2 + num)  + "+"
content2 = "|"  +  " " * space_num  +  userInput  +  " " * space_num  + "|"

print(content1)
print(content2)
print(content1)

4)成员资格

  • 判断元素是否在序列当中

  • in\not in

  • 返回的是布尔值:真 假

案例:判断用户输入的内容中是否有c,

  • 如果有,就提示有c,并终止程序

  • 如果没有,就提示无c,并要求用户重新输入,而且最多输入3次

【用两种方法实现】

#=======&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值