Python的字符串,列表,元组,字典和集合

1.字符串(str)

1.1字符串的定义

格式 :字符串名 = '要定义的内容'

例如:

s1 = 'hello'

1.2字符串的索引

 字符串索引方式有两种

1.从左边开始:0~len(s)-1

2.从右边开始:-len(s)~-1

索引结构

索引可以两边一起用,如: 

s1 = 'hello world'
print(s1[0:-1])

输出结果为:

hello worl

结果为什么是hello worl 而不是hello world,请接着往下看 

1.3字符串的截取

格式:字符串变量[start:end]  包含start,不包含end.(左闭右开)

例如:

s1 = 'hello'
print(s1[0:2])

输出结果为:

he

输出结果不是hel的原因就是它截取的是从0 (包括0)到2(不包括2)之间的字符。

格式:字符串变量[start:end:step]

这个也可以用作截取字符串,和上面不同的地方在于它多了step(步长),步长的意思就是隔几个一取,例如:

s1 = 'hello world'
print(s1[0:9:2])

输出结果为:

hlowr

步长默认为1,如果括号中第一个冒号前面什么都没写如s1[:9]表示从头开始找到第9个之前,如果写成s1[::]表示从头找到尾,如果不知道字符共有多少的话经常用这个表示。

步长也可以为负。表示从右向左取,但是此时start到end的方向必须也是从右向左。

例如:

s1 = 'hello world'
print(s1[-1:-10:-2])

输出结果为:

drwol

1.4字符串的常见操作

获取长度:len
查找内容:find,index,rfind,rindex
判断:startswith,endswith,isalpha,isdigit,isalnum,isspace
计算出现次数:count
替换内容:replace
切割字符串:split,rsplit,splitlines,partition,rpartition
修改大小写:capitalize,title,upper,lower
空格处理:ljust,rjust,center,lstrip,rstrip,strip
字符串拼接:join
注意:在python中,字符串是不可变的!所有的字符串相关方法,都不会改变原有的字符串!都是返回一个结果,保留在新的返回值里面。

1.5格式化输出

一种是前面我们介绍的print(),另一种是format.

name = '赵丽颖'
age = 18
print('美女%s今年%d岁' % (name, age))
result = '美女{}今年{}岁'.format(name, age)
print(result)

输出结果为:

美女赵丽颖今年18岁
美女赵丽颖今年18岁

使用数字填充,从0开始计数

result = '美女{0}今年{1}岁,我也今年{1}岁'.format(name, age)

 变量名的形式,format的参数必须是关键字参数

result = '美女{name}今年{age}岁'.format(name='赵丽颖', age=19)

2.列表(list)

2.1列表的简介及定义

<class 'list'>表示列表,在python中用方括号表示列表

定义:

空列表 :用方括号表示[ ]

有内容的列表:['1','2','3'],['A','B','C']

2.2列表的增删改查

2.2.1增加元素

添加元素:append 追加 类似排队

例如:

list1 = ['牛奶', '面包', '辣条']
list1.append('火腿')
print(list1)

输出结果为:

['牛奶', '面包', '辣条', '火腿']
2.2.2删除元素

pop

pop(index):根据下标删除列表中元素,下标在写的时候注意不要超出范围

 pop()从后往前依次删除

例如:

list1 = ['牛奶', '面包', '辣条']
list1.pop(2)
print(list1)

删除后的结果为

['牛奶', '面包']

remove

remove(element):根据列表名称删除 如果删除的元素列表不存在,则报错。如果列表中存在多个同名元素element,只删除遇到的第一个元素,后面的元素不会被删除。

例如:

list1 = ['牛奶', '面包', '辣条']
list1.remove('牛奶')
print(list1)

输出为:

['面包', '辣条']

clear

清空元素列表,但是结构还在,可以往里面加入数据,用del删除的元素直接删除整个结构,不能往里面加入数据。

2.2.3修改元素

通过赋值改变元素的值,例如:

list1 = ['牛奶', '面包', '辣条']
list1[1] = '水'
print(list1)

运行结果为:

['牛奶', '水', '辣条']

另一种是往里面插入值

insert(位置,元素):元素占了位置,其他元素后移

index(元素):根据元素找元素的位置下标,返回值是下标位置

2.2.4查找元素

1.元素 in list               返回bool类型

2.list.index(元素) 返回元素下标位置,如果没有此元素则报错

3.list.count(元素) 返回整数 返回值是零则表示不存在此元素,存在则返回个数

2.2.5sort排序

number.sort()# 默认是升序排列的,可以通过reverse参数控制升序还是降序
number.sort(reverse=True)降序排列
number.reverse()#没有排序,单纯反转

3.元组(tuple)

python的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号(),列表使用方括号[ ]

定义

名 = ()

注意:如果元组中只有一个元素,必须加逗号('aaa',) (1,)

('aa')-----<class 'str'>

('aaa',)---------<class 'tuple'>

因为元组不能修改,所以只能 count  和index。如果想要对它进行删改,只能把它转化成列表。

4.字典(dict)

4.1字典的结构及定义

结构:{键1:值,键2:值,键3:值}

字典:{}  (字典用大括号表示)

元素:键对值

注意:键是唯一的,值是允许重复的

定义:dict = {key:value,key:value...}

4.2添加元素

字典名[key] = value

注意:key是字典唯一的,所以在添加的时候如果出现同名的key,后面的key对应的value则替换原来的.

4.3修改value值

字典名[key] = value

关键看键:如果字典中不存在键,则是添加

                  如果字典中存在键,则是修改

4.4删除字典

4.4.1pop()删除

根据key实现删除,删除的是键值对,返回值是key对应的value

例如:

dictionary = {'name': '梨花', 'sex': '女'}
result = dictionary.pop('name')
print(result)
print(dictionary)

第一个输出为返回值,第二个输出为删除后字典里面剩余的内容

梨花
{'sex': '女'}
4.4.2popitem()

返回值:(key,value)是一个元组

从后往前删,

例如:

dictionary = {'name': '梨花', 'sex': '女'}
result = dictionary.popitem()  # result 用来接受返回值
print(result) 
print(dictionary)

输出结果为:

('sex', '女')
{'name': '梨花'}

 4.5查询和遍历

list.index()

list.count()

in

获取:

dict.get(key):根据key获取value值

dict[key]:根据key获取value值

dictionary = {'name': '梨花', 'sex': '女'}
result = dictionary.get('name')
print(result)
result = dictionary['name']
print(result)

 输出结果为

梨花
梨花

区别:

get(key) 里面的key如果不存在则返回None,同时get(key,默认值)可以设置默认值

dict[key]  里面的key如果不存在则会报错。

 如果使用for...in 直接遍历字典,取出的是字典的key

dictionary = {'name': '梨花', 'sex': '女'}
for i in dictionary:
    print(i)

输出结果为

name
sex

 获取字典中所有的value值 : dict.values()   就是将所有的值存放在一个列表

获取字典所有的key: dict.keys()

获取键值对 : dict.items()

dictionary = {'name': '梨花', 'sex': '女'}
for k, v in dictionary.items():
    print(k, v)

输出结果为:

name 梨花
sex 女

5.集合(set)

5.1集合的特点及定义

没有重复,无序的(没有下标)

符号:{}{元素,元素,元素,...} -------->集合

          {} {key:value,key:value,...}-------->字典

定义:

定义一个空集合:set1 = set()

不能set = {} 这样定义, 这样定义出来是一个空字典,而不是一个空集合。

5.2增加元素

set.add()

例如:

set1 = set()  # 定义一个空集合
set1.add(5)
print(set1)

输出结果为

{5}

5.3删除元素

remove
set1 = {1, 6, 3, 9, 5, 4, 7}
set1.remove(1)
print(set1)

输出结果为

{3, 4, 5, 6, 7, 9}

discard 和remove类似

pop随机删除元素,其实并不是随机删除的,只是集合是无序的,所以看起来是随机删除的。

5.4集合相关操作

集合

交集 intersection(&)

并集 union(|)

差集 difference(-)

例如:

set1 = {1, 6, 3, 9, 5, 4, 7}
set2 = {1, 2, 3, 4, 5}
# 交集
result = set1.intersection(set2)
print(set1 & set2)
print(result)
# 并集
result = set1.union(set2)
print(set1 | set2)
print(result)
# 差集
result = set1.difference(set2)
print(set1 - set2)
print(result)

运行结果:

{1, 3, 4, 5}
{1, 3, 4, 5}
{1, 2, 3, 4, 5, 6, 7, 9}
{1, 2, 3, 4, 5, 6, 7, 9}
{9, 6, 7}
{9, 6, 7}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值