Python学习——数据结构(自用)

本文介绍了Python中的基本数据结构,包括字符串的索引和拼接,列表的元素类型、索引、切片、遍历,元组的定义与操作,字典的键值存储、增删改查,以及集合的无序性和去重特性。
摘要由CSDN通过智能技术生成

字符串

1.可以使用单引号、双引号和三引号(三个单引号或三个双引号),使用\转义特殊字符

2.所有字符串都是Unicode字符串

3.三引号可以保留文本格式

para = """
        哈哈哈哈
    哈哈哈哈
"""
#
#       哈哈哈哈
#   哈哈哈哈
str = 'I\'m a good boy'
#I'm a good boy
str = "shandong"

print(str)    #shandong
print(str[0])    #s
print(str[0:4])    #shan
print(str[0:7:2])    #sadn
print(str[4:])    #dong
print(str[:4])    #shan

print(str + ",你好")    #shandong,你好
print(str * 2)    #shandongshandong

print("hello\nshandong")    #hello
                            #shandong
print(r"hello\nshandong")    #hello\nshandong

 

列表 

1.元素类型可以不相同,支持数字、字符串甚至可以包含列表

2.写在[]之间,用逗号分隔开

3.索引值以0为开始值,-1为从末尾开始的位置

4.可以使用+拼接,*重复

namelist = []    #定义一个空的列表
namelist1 = ["小张","小王","小李"]
print(namelist1[0])    #小张(str)
testlist = [1,"测试"]
print(testlist[0])    #1(int)

for name in namelist:
    print(name)
#小张,小王,小李

length = len(namelist)    #得到列表长度
i = 0
while i<length:
        print(namelist[i])
        i += 1

list = ["a","b","c","a","c"]
#此方法找不到会报错
print(a.index("a",1,4))    #3打印出1-4间a的位置,不包含4
list = [3,2,1,4]

list.reverse()    #反转
print(list)    #[4,1,2,3]

list.sort()    #升序
print(list)    #[1,2,3,4]

list.sort(reverse = True)    #降序
print(list)    #[4,3,2,1]

使用枚举方法 

mylist = ["a","b","c","d"]
for i,x in enumerate(mylist):
    print(i,x)
#0 a,1 b,2 c,3 d

list嵌套 

list = [["bei","jing"],["ha","er","bin"]]
print(list[0][0])    #bei

元组

1.元素无法修改,写在小括号里,元素之间用逗号隔开

2.元素不可变但可包含可变对象,如list,其地址不变

3.定义只有1个元素的tuple时,必须加逗号才能是tuple类型        t=(1,)

增 (连接)

tup1 = (12,34,56)
tup2 = ("abc","def")
tup = tup1 + tup2
print(tup)    #(12,34,56,'abc','def')

tup1 = (12,34,56)
del tup1    #删除整个元组变量

字典

1.字典是无序的对象集合,使用键-值存储,具有极快的查找速度

2.key必须使用不可变类型,且同一dict中,key必须唯一

info = {"name":"lili","age":18}
print(info["name"])    #lili
print(info["gender"])    #直接访问无键,会报错
print(info.get("gender"))    #不存在,默认返回:None
print(info.get("gender"),"no")    #设定默认值,返回:no

info = {"name":"lili","age":18}
newID = input("请输入新的学号")
info["id"] = newID
print(info["id"])

info = {"name":"lili","age":18}

del info["name"]    #删除整个键值对
del info    #字典全部删除

info.clear()    #清空后变为空字典

info = {"name":"lili","age":18}
info["age"] = 20

info = {"id":2024,"name":"lili","age":18}
print(info.keys())    #dict_keys(['id','name','age']),得到所有键(列表)
print(info.values())    #dict_values([2024,'lili',18]),得到所有值(列表)
print(info.items())
#dict_items([('id',2024),('name','lili'),('age',18)]),得到所有项(列表),每个键值对是一个元组

for key in  info.keys():
    print(key)
#id,name,age

for key,value in info.items():
    print("key=%s,valur=%s"%(key,value))
#key=id,value=2024……

 

 

集合

1.是一组key的集合,但不存储value。在set中没有重复的key

2.是无序的,重复元素在set中自动被过滤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值