栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【Python学习笔记】-L3-字符串 列表 字典

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Python学习笔记】-L3-字符串 列表 字典

其他人写的很好的博客可以学习:https://blog.csdn.net/qq_44444503/article/details/124725921?

目录

【字符串】

 切片

str大小写切换

去掉str中间的空格

查找目标位置

【列表】

添加元素

删除元素

append列表后追加元素

extend扩展

insert指定位置插入

index获取索引值

count统计元素频次

【元祖】

【字典】

创建

直接追加/更改值

获取所有的键、值、键值对

修改

删除

排序

合并 +

复制 *

判断存在 in

其他

问题


L3-20220617
序列:在python当中 序列就是一组按照顺序排列的值【数据集合】
在python中 存在三种内置的序列类型:
字符串、列表、元组


【字符串】


1.序列属性:
优点:可以支持索引和切片的操作
特征:第一个正索引为0,指向的是左端,第一个索引为负数的时候,指向的是右端


 切片


语法结构:str[start:end:step] 
   *(]
可以根据下表来获取序列对象的任意[部分]数据[起始:结束:步长] 
注意:
1)step默认为1 
2) 注意区别Excel 这里是:冒号
3)切片从开始索引开始截取到结束索引,不包含结束索引(俗称含头不含尾)
test="python"
# print(type(test))
# print(test[1])
# print(test[0:4]) #pyth
# print(test[0:4:2]) #pt
# print(test[0:]) #python
# print(test[:3]) #pyt
# print(test[::-1]) #倒叙输出,从右往左遍历
print(test[::-1]) #nohtyp
print(test[::-2]) #nhy
print(test[::-3]) #nt
print(test[::-4]) #ny
print(test[::-5]) #np  其实等于反着切片

str大小写切换


语法结构:str.capitalize() 
语法结构:str.swapcase() 
语法结构:str.title() 
语法结构:str.lower() 
语法结构:str.upper() 
name='claire is claire'
print('首字母大写%s'%name.capitalize())#首字母大写Claire
print('首字母大写%s'%name.swapcase())#大小写互换
print('首字母大写%s'%name.title())#每个单词大小写


去掉str中间的空格


语法结构:str.strip() #去两边空格
语法结构:str.lstrip() #去左空格
语法结构:str.rstrip() #去右空格
语法结构:print(str.replace(" ","")) #去所有空格,其实就是把" "空格replace成""没有值
语法结构:print('str',join(str.split()) #join是循环取出所有值并用前面的str去链接,split是分开单词,因此print('',join(str.split()) 就可以去掉所有空格了

a='         shishishis shishish  shishi        '
print('去除空格%s'%a.strip()) #去除空格shishishis shishish  shishi
print('去除空格%s'%a.lstrip()) #去除空格shishishis shishish  shishi
print('去除空格%s'%a.rstrip()) #去除空格         shishishis shishish  shishi
print(''.join(a.split())) #shishishisshishishshishi
print('啊'.join(a.split())) #shishishis啊shishish啊shishi

查找目标位置


语法结构:find()
语法结构:index()
print(test.find('p')) #0  返回下标值因为位置从零开始,find找不到返回-1 index找不到会报错

————————-——————————

【列表】


list:python当中非常重要的数据结构,是一种有序的数据集合
特点:
1:支持增删改查
2:列表中的数据是可以变化的【数据项可以变化,内存地址不会改变】
3:用[] 来表示列表类型,数据项之间用逗号来分割,注意:数据项可以是任何类型的数据
4:支持索引和切片来进行操作
{例子}
a=[1,2,3,'你好',5,6,1.2222,True]
print(a[0])
print(a[1:4])
print(a[2:])
print(a[::-1])#反转 每隔一个取一次
print(a*3)
>>>
1
[2, 3, '你好']
[3, '你好', 5, 6, 1.2222, True]
[True, 1.2222, 6, 5, '你好', 3, 2, 1]
[1, 2, 3, '你好', 5, 6, 1.2222, True, 1, 2, 3, '你好', 5, 6, 1.2222, True, 1, 2, 3, '你好', 5, 6, 1.2222, True]

添加元素


语法结构:list[索引值]=添加值
listb=[1,2,3]
print(listb) #[1, 2, 3]
listb[0]=5
print(listb) #[5, 2, 3]


删除元素


语法结构:del list[:]#用切片批量删除,输入索引值
del listb[0:2]
print(listb)#[3]
或者listb.remove(值)#删除特定的某个值
或者listb.pop(索引值) 删除索引值对应的值

append列表后追加元素


语法结构:list.append([])
lista=[0,1,2]
lista.append(2.22)#只能加一个数字,如果是数组需要加括号[],加进去也有括号

extend扩展


语法结构:list.extend([])
会加在最后
a=range(10)
print(a,type(a))
b=list(a)
print(b,type(b))
lista.extend(b)
print(lista)#[0, 8888, 1, 2, 2.22, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
lista.extend([22,33,44,55,66])
print(lista) #[0, 8888, 1, 2, 2.22, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 22, 33, 44, 55, 66]

insert指定位置插入


语法结构:list.insert([索引值,要插入的值])
print('追加一次',lista)#追加一次 [0, 1, 2, 2.22]
lista.insert(1,8888)
print('追加二次',lista)#追加二次 [0, 8888, 1, 2, 2.22]

index获取索引值


print(listb.index(具体值))

count统计元素频次


语法结构:XXX.count(对象值)

remove移除左边元素
reverse反转列表
sort列表排序

————————-——————————

【元祖】

tuple=(,)


元组:是一种不可变的序列,在创建之后不能做任何的修改*不能增删改,只能查找
1:不可变
2:用()创建元组类型,数据项用逗号来分割
3:可以是任何的类型
4:当元组中只有一个元素时,要加上逗号,不然后解释器会当做其他类型(整形)来处理
5:同样可是支持切片操作
tuple=()
print(tuple)
tuplea=([1,2,3],1,'1',1.1)
print(tuplea)
for x in tuplea:
    print(x,end=" ")


————————-——————————


【字典】


字典:也是python中重要的数据类型,字典是有 键值对 组成的集合,通常使用 键来访问数据,效率非常高,和list一样 支持对数据的添加、修改、删除
特点:
1:不是序列类型 没有下标的概念,是一个无序的键值集合,是内置的高级数据类型
2:用{} 来表示字典对象,每个键值对用逗号分隔
3:键必须是不可变的类型【元组、字符串】 值可以是任意的类型
4: 唯一性 每个键必定是惟一的,如果存在重复的键,后者会覆盖前者
5:键值对(“key = value”),顾名思义,每一个键会对应一个值。

创建


语法结构:dicta={}
dicta=dict()
a={}
print(type(a))
a['name']='claire'
print(a)

直接追加/更改值


语法结构:dict['key']='value’


获取所有的键、值、键值对


dicta={'name':'claire','age':12,'class':'first'}
print(dicta.keys())
print(dicta.values())
print(dicta.items())
for key,value in dicta.items():
    print('%s==%s'%(key,value),end=';')
>>>
dict_keys(['name', 'age', 'class'])
dict_values(['claire', 12, 'first'])
dict_items([('name', 'claire'), ('age', 12), ('class', 'first')])
name==claire;age==12;class==first;

修改


dicta.update({'key':'new value'})

删除


del dicta['name']=dicta.pop('name')

排序
print(sorted(dicta.items(),key=lambda d:d[0])) 不是很懂

———————————————————————


合并 +


stra+strb
lista+listb
tup1+tup2

复制 *


stra*次数
lista*次数
lista*次数

判断存在 in


print("  " in "  ")

stra='你好你好你好吗'
strb='okokokk'
print(stra+strb)
print(stra*3)
print('你好'in stra)
>>>
你好你好你好吗okokokk
你好你好你好吗你好你好你好吗你好你好你好吗
True


其他


1.报错,如果报错SyntaxError: unexpected EOF while parsing,可能是少加了个括号
2. print(x,end=" ")打印不换行
3.有用的概念参考文档:https://blog.csdn.net/qq_44444503/article/details/124725921?
4.索引值以 0 为开始值,-1 为从末尾的开始位置。
5.Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组

问题


Q1请问dicta={'name':'claire','age':12,'class':'first'},如果要修改name的值,
为什么不能直接print(dicta.update({'name':'rosine'}))
>>>None

而是要这样才可以
dicta.update({'name':'rosine'})
print(dicta)

A1 因为update函数没有返回值,不能被print出来。python里没有返回值的默认none,append也是

Q2 print(sorted(dicta.items(),key=lambda d:d[0]))
key=lambda d:d[0]为什么有要这样表达,d:d[0]是什么

A2 是匿名函数  d代码前面迭代器的每个元素  d[0]表示迭代器每个元素的第一个   返回值为key
#其实还是没有懂
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/982334.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号