Python 基础(三)

1.序列:序列就是一组按照顺序排列的值。

在python中存在三种内置的序列类型:字符串,列表,元组。

优点:支持索引和切片操作。

特点:第一个正索引为0,当索引为-1时,指向最后一个元素(-2则指向倒数第二个元素..依次类推)

切片:指截取序列的其中一段内容。语法:[起始下标:结束下标:步长]。切片截取的内容不包含结束下标对应的数据,步长指每隔几个下标获取一个字符。步长默认为1. 

str='hello world'
print(str[1:5:1])

当结束下标为空时,表示一直到结尾
print(str[1::2])
当开始下标为空时,表示从开头开始
print(str[:5:2])
倒序输出,步长修改为-1
print(str[:5:-1])

2.字符串常用方法

capitalize()首字母变大写
endwith/startswith()是否以...结束/开始
find()检查...是否在字符串中,返回下标值,否则返回-1
isalnum()判断是不是字母和数字
isalpha()判断是不是字母
isdigit()判断是不是数字
islower()判断是否是小写
join()循环取出所有值用...连接
lower/upper大小写转换
swapcase大写变小写/小写变大写
lstrip/rstrip/strip移除左/右/两端空白
split()分割字符串
title()每个单词首字母变大写
replaced(old,new,count=None)将old替换成new,count为替换多少个,none为全部
count()统计出现的次数
#id()可以查看变量的内存地址
a='ggg'
b=a
print(b)
print("the address of a is {},the address of b is {}".format(id(a),id(b)))
#发现a,b的内存是一样的,这样只是将a的内存地址给了b

c="hhh"
d=''
for i in c:
    d+=i
print(d)
print("the address of a is {},the address of b is {}".format(id(c),id(d)))
#通过遍历的方式我们会发现,c,d的值相同但内存地址不再相同

3.列表(list):是一种有序的集合,可以随时添加删除其中的元素。用[]来表示列表类型,数据项之间用逗号分隔,数据项类型可以不同。列表之间可以相互嵌套。

语法:list_name = ['a','b','c',......]

append()在列表后面追加元素
count()统计元素出现的次数
extend()追加列表,相当于批量添加
index()获取指定元素索引号,返回下标
insert()在指定位置插入
pop()删除指定元素,返回删除的元素
remove()移除左边找到的第一个元素
reverse()反转列表,也会永久改变原列表
sort()列表排序,reverse=True为倒序,会永久改变原列表
sorted()列表排序,保留原列表的顺序
len(list_name)返回数据个数,序列都可以用,包括str
del删除指定索引所在元素
list1=[23,'ttef',90.45,True,"uaf"]
print(list1)
这会将方括号也打印出来
print(list1[3])
print(list1[1:4])
支持索引,支持切片
print(list1*3)#多次输出数据

list1=[23,'ttef',90.45,True,"uaf"]
list1.append("wawawa")
print(list1)
#利用append可以先创建空列表,list=[],再动态的添加进元素

list1.insert(1,'hello')
print(list1)

#range函数生成的是range类型的集合因此需要list()强制转换
rang_data=list(range(1,5))
list1.extend(rang_data)
print(list1)

del list1[1]
print(list1)

del_data=list1.pop(2)
print(del_data)
print(list1)

#批量删除,pop()不可以
del list1[0:2]
print(list1)

#根据值删除元素,但remove()只删除第一个出现的元素
to_del='wawawa'
list1.remove(to_del)
print(list1)

list2=['t','test','sgsgr','uufv','ahef']
list3=list2[::]
print(list2.index('test'))
list2.sort()
print(sorted(list3))
print(list3)
print('===================')
print(list2)


list3=list2[::]相当于生成了list2的副本

list2=['t','test','sgsgr','uufv','ahef']
for str in list2:
    print(str,end=" ")
#遍历列表

for i in range(1,5):
    ...



list1=list2
#这样的语法使list1与list2关联到同一个列表,并不是只将list1的值给list2,应用list1[:]

4.元组:列表是可以修改的,而元组是不可以修改的,使用小括号()来定义。数据项之间用逗号分隔,可以是任何类型。严格来说,元组是由逗号标识的,所以当元组中只有一个元素时,要加上逗号,不然解释器会当整形处理。

yuanzu1=(3,4,5)
yuanzu2=(7,)

元组的遍历同列表一样

虽然不能够修改元组,但可以给元组重新赋值。

tuple1=(1,2,3,4)
print(tuple1)
tuple1=('a','b','c')
print(tuple1)
但内存地址会发生改变

tuple3=(1,2,3,[4,5,6])
当元组中有列表类型元素时,列表中元素可以发送改变
eg:tuple3[3][1]=999
    tuple3=(1,2,3,[4,999,6]
index()查找指定元素的下标
count()统计个数

5.字典:字典是一系列键值对,每个键都有一个值关联。与键关联的值可以是数,字符串,列表或字典。python中用{}来表示字典。字典中的键不可重复,有重复的键后者会覆盖前者。字典不是序列,不支持下标和切片。

eg:dict={'color':'green','point':5}

访问:把键放在中括号内

dict={'color':'green','points':8}
print(dict['color'])

添加键值对:

dict={'color':'green','points':8}
dict['num']=56
dict['food']='apple'
print(dict)

修改:

dict={'color':'green','points':8}
dict['color']='yellow'

update也可以修改 

删除:指定字典名与键

dict={  'color':'green',
        'points':8,
        'food':'pie'
     }
del dict['points']
print(dict)

pop(‘键’)方法也可以删除 

使用get()来访问

当访问的键不存在时,不会报错而是返回一个默认值,get()的第一个参数为键,第二个则为不存在时返回的默认值,不设置则为None。

dict={'color':'green','points':8,'food':'pie'}
del dict['points']
value=dict.get('points','error')
print(value)

遍历字典:可声明两个变量,分别存储键和值

items()方法返回一个键值对列表

dict={'color':'green','points':8,'food':'pie'}
for i,j in dict.items():
    print(i,j)
for item in dict.items():#此时会打印列表,item就是列表
    print(item)

遍历字典中的键

dict={'color':'green','points':8,'food':'pie'}
for i in dict.keys():
    print(i)
实际上,key()返回的是包含键的列表

遍历字典中的值:values()方法,但values()返回的会有重复值,可以将values()返回的值放入set()集合中,便可没有重复值。

dict={'color':'green','points':8,'food':'pie','num':8}
for i in dict.values():
    print(i,end=' ')
print()
for j in set(dict.values()):
    print(j,end=" ")

len()方法可以查看字典有几个键值对。

排序:sorted()

按照key来排
print(sorted(dict.items(),key=lambda d:d[0]))
按照value来排
print(sorted(dict.items(),key=lambda d:d[1]))

6.共有方法

+:适用于字符串,列表,元组,拼接作用。

str='345'
str2='rty'
str3=str1+str2='345rty'
list1=[1,2,3]
list2=[2,3,4]
list3=list1+list2=[1,2,3,2,3,4]

*:复制,适用于字符串,列表,元组

str='123'
str*3->'123123123'

in:检查对象是否存在,返回值为bool类型,适用于字符串,列表,元组,字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值