失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Python学习笔记(字符串 列表 字典)

Python学习笔记(字符串 列表 字典)

时间:2024-03-27 07:25:36

相关推荐

Python学习笔记(字符串 列表 字典)

以下部分笔记来自路飞学城教育机构学习课件

1.0 数据类型-str

1.1 字符串定义

创建

s = "Hello, my name is Alex,golden king."

字符串特性

1.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序

2.

3.切片操作 (顾头不顾尾)

>>> s'Hello, my name is Alex,golden king.'>>> s[3:6] # 顾头不顾尾'lo,'>>> s[1:5]'ello'>>> s[0:5]'Hello'>>>>>> s[3:10]'lo, my '

4.不可变,字符串是不可变的,不能像列表一样修改其中某个元素,所有对字符串的修改操作其实都是相当于生成了了一份新数据。

1.2 字符串常用操作

a = "Alex li 金角大王" #字符串print(a.center(50, "-")) # 居中并填充 ---------Alex li 金角大王--------print(a.count("l", 0, 4)) # 计数print(a.endswith("王")) # 判断结尾print(a.startswith(("Al"))) # 判断开头print(a.find("单")) # 字符查找 返回-1代表没找到print(a.find("角")) # 字符查找 如果找到了就返回所查字符的索引print("22".isdigit()) # 判断是否是整数l = ["alex", "black girl", "pig"]#列表print("-".join(l)) #用于连接列表内的元素 # alex-black girl-pigprint(a.replace("l","M",1)) #字符串不可变 只会赋予新值 最后数字指定替换个数 # AMex li 金角大王print(a.split("l",1))#按照指定字符(默认空格)把字符串拆成列表 # ['A', 'ex li 金角大王']

2.0 数据类型-list

2.1 定义

列表:[]内以逗号分隔,按照索引,存放各种数据类型,每一个位置代表一个元素

列表的特点:

1.可存放多个值

2.可存放多个值、按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

3.可修改指定索引位置的值,可变

2.2 列表的增加操作

追加,数据会追加到尾部

>>> names['alex', 'jack']>>> names.append("rain")>>> names.append("eva")>>> names['alex', 'jack', 'rain', 'eva']

插入,可插入任何位置

>>> names.insert(2,"黑姑娘")>>> names['alex', 'jack', '黑姑娘', 'rain', 'eva']

合并,可以把另一外列表的值合并进来

>>> n2 = ["狗蛋","绿毛","鸡头"]>>> names=['alex', 'jack', '黑姑娘', 'rain', 'eva']>>> names.extend(n2)>>> names['alex', 'jack', '黑姑娘', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']

列表嵌套

>>> names.insert(2,[1,2,3])>>> names ['alex', 'jack', [1, 2, 3], '黑姑娘', 'rain', 'eva', '狗蛋', '绿毛','鸡头']>>> names[2][1] 2

2.3 删除操作

del 直接删

>>> names['alex', 'jack', [1, 2, 3], '黑姑娘', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']>>> del names[2]>>> names['alex', 'jack', '黑姑娘', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']

.pop 删除

>>> names['alex', 'jack', '黑姑娘', 'rain', 'eva', '狗蛋', '绿毛', '鸡头']>>> names.pop() #默认删除最后一个元素并返回被删除的值'鸡头'>>> names['alex', 'jack', '黑姑娘', 'rain', 'eva', '狗蛋', '绿毛']>>> help(names.pop)>>> names.pop(1) #删除指定元素'jack

.remove 删除

>>> names['alex', 'jack', '黑姑娘', 'rain', 'eva', '狗蛋', '绿毛', '鸡头', 'eva']>>> names.remove("eva") # 删除第⼀一个找到的eva值>>> names['alex', 'jack', '黑姑娘', 'rain', '狗蛋', '绿毛', '鸡头', 'eva']

.clear 清空

>>> n2['狗蛋', '绿毛', '鸡头']>>> n2.clear()>>> n2[]

2.4 修改操作

>>> names['alex', '黑姑娘', 'rain', 'eva', '狗蛋', '绿毛']>>> names[0] = "金⻆大王">>> names[-1] = "银角⼤王">>> names['⾦⻆大王', '黑姑娘', 'rain', 'eva', '狗蛋', '银⻆大王']

2.5 查操作 .index() 返回索引

>>> names['⾦角⼤王', '黑姑娘', 'rain', 'eva', '狗蛋', '银⻆大王', 'eva']>>> names.index("eva") #返回从左开始匹配到的第一个eva的索引3>>> names.count("eva") #返回eva的个数2

在不知道一个元素在列表的哪个位置的情况下,如何修改:

1.先判断在不在列表里 item in list

2.取索引, item_index = names.index("eva")

3.去修改,names[item_index] = "铁蛋"

2.6 切片

names[start : end]>>> names['金角大王', '黑姑娘', 'rain', 'eva', '狗蛋', '银角大王', 'eva']>>> names[1:4] #不包含下标4的元素['黑姑娘', 'rain', 'eva']

注意:切片的特性是顾头不顾尾,即start的元素会被包含, end-1是实际取出来的值

简写

>>> n[0:4]['alex', 'jack', ['makc', '陈xxx'], '黑姑娘']>>> n[:4]['alex', 'jack', ['makc', '陈xxx'], '黑姑娘']

取倒数后2个值

>>> n[0:4]['alex', 'jack', ['makc', '陈xxx'], '黑姑娘']>>> n[:4]['alex', 'jack', ['makc', '陈xxx'], '黑姑娘']>>> n[4:5]['rain']>>> n[4:6] # 超标写法['rain', 'eva']>>> n[4:] # 省略最后⼀一个索引['rain', 'eva'] #

倒着切(索引正着写 顾头不顾尾 所以会少一个)

>>> names[-5:-1]['rain', 'eva', '狗蛋', '银⻆大王']>>> names[-5:]['rain', 'eva', '狗蛋', '银⻆大王', 'eva']

如果取前几个值,一样可以把:号左边的省掉

>>> names['⾦角⼤王', '黑姑娘', 'rain', 'eva', '狗蛋', '银⻆大王', 'eva']>>> names[0:3]['⾦角大王', '黑姑娘', 'rain']>>> names[:3] #跟上面⼀样的效果['金⻆大王', '黑姑娘', 'rain']

步长(跳着切)

names[start:end:step] #step 默认是1

>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a[0:7:2] #设置步长为2[0, 2, 4, 6]

简写

>>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a[::3] #按步长3打印列表,第1个:是省略掉的start:end[0, 3, 6, 9]

2.7 排序&反转

排序 .sort()

>>> a = [83,4,2,4,6,19,33,21]>>> a.sort()>>> a[2, 4, 4, 6, 19, 21, 33, 83]

反转 .reverse()

>>> names['#', '4', '@', 'eva', 'rain', '狗蛋', '⾦角⼤大王', '银⻆大王', '黑姑娘']>>> names.reverse()>>> names['黑姑娘', '银⻆大王', '⾦角⼤王', '狗蛋', 'rain', 'eva', '@', '4', '#']

2.8 循环列表

>>> for i in names:...print(i)...黑姑娘银⻆大王金⻆大王狗蛋raineva@4#

打印列表索引 enumerate()

>>> for i in enumerate(n):...print(i[0],i[1])...0 Alex1 alex2 eva3 rain4 shit5 ⿊黑姑娘

3.0 数据类型-dict

{key1:value1, key2:value2}

info = {"name":"Alex Li","age" : 26}key -> value

: 号左边是key,右边是value

特性:

1.key-value结构

2.key必须为不可变数据类型(字符串、数字)、必须唯一

3.可存放任意多个value(用list)可修改、可以不唯一

4.无序、ordered_dict

5.查询速度快、且不受dict的大小影响

3.1 增加操作

mes = {"alex": [23, "CEO", 66000],"黑姑娘": [24, "行政", 4000],}# 新增knames["佩奇"] = [26, "讲师", 40000]

3.2 删除操作 .pop() / del / .clear()

names.pop("alex") # 删除指定keydel names["oldboy"] # 删除指定key,同pop方法names.clear() # 清空dict

3.3 修改操作

dic['key'] = 'new_value' # 如果key在字典中存在, 'new_value'将会替代原来的value值;

3.4 查操作

dic['key'] #返回字典中key对应的值,若key不存在字典中,则报错;dic.get(key, default = None) #返回字典中key对应的值,若key不存在字典中,则返回default的值(default默认为None)'key' in dic #若存在则返回True,没有则返回Falsedic.keys() #返回一个包含字典所有KEY的列表;dic.values() #返回⼀个包含字典所有value的列表;dic.items() #返回⼀个包含所有(键,值)元组的列表;# k,v 2个变量>>> for k,v in dic.items():... print(k,v)...Alex [23, 'CEO', 66000]黑姑娘 [24, '行政', 4000]佩奇 [26, '讲师', 40000]

3.5 循环

1、 for k in dic.keys()2、 for k,v in dic.items()3、 for k in dic # 推荐⽤这种,效率速度最快 (k表示key,dic[k]表示value)info = {"name":"路飞学城","mission": "帮⼀千万极客⾼效学编程","website": ""}for k in info:print(k,info[k])输出>>>name 路飞学城mission 帮一千万极客高效学编程website

3.6 求长度

len(info) # len()方法可同时用于列表、字符串

如果觉得《Python学习笔记(字符串 列表 字典)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。