一.字符串(str)
1.切片
-
split()
调用格式:split(str, num)
以str为标志切片num次
name = 'hello world'
new1 = name.split() #以空格为标志切片
new2 = name.split('l', 1)
#输出:
>>>> new1 = ['hello', 'world']
>>>> new2 = ['he', 'lo world']
-
partition()
调用格式:partition(str)
以str分割为3部分的元组
name = 'hello'
new = name.partition('ll')
#输出:
>>>> new = ('he', 'll', 'o')
-
join()
调用格式:‘sep’.join(seq)
以sep为分隔符将seq(可以是字符串,元组,字典等)的所有元素合并成一个新字符串
name1 = "hello world 你好 世界"
new1 = ','.join(name1) #字符串
print(new1)
name2 = ('hello', 'world', '你好', '世界')
new2 = ','.join(name2) #元组
print(new2)
name3 = {'hello': 1, 'world': 2, '你好': 3, '世界': 4}
new3 = ','.join(name3) #字典
#输出:
>>>> new1 = 'h,e,l,l,o, ,w,o,r,l,d, ,你,好, ,世,界'
>>>> new2 = 'hello,world,你好,世界'
>>>> new3 = 'hello,world,你好,世界'
2.替换元素
-
replace()
调用格式:replace(old, new, count)
传入要被替换的原字符old和替换的字符new,可选择替换的个数count
name = 'hello world haha'
new = name.replace('ha', 'HA', 1)
#输出
>>>> new = 'hello world HAha'
3.删除字符串两端空白字符
调用格式:'字符串'.strip()直接调用
4.对齐&填充
- ljust(width, str)----------左对齐以str填充至长度width,len>width返回原字符串
- rjust(width, str)----------右对齐 .....
- rjust(width, str)----------居中对齐 ......
- zfill(width)-----------------填充0至长度width
5.几种布尔型函数
- isalpha()-------------------是否全是字母
- isdigit()---------------------是否全是数字
- isalnum()------------------是否是字母或数字
二.列表(list)
1.添加元素
-
append()
调用格式:[list].append(object)
在列表的末尾添加元素,这个对象整体作为列表中的一个元素 -
extend()
调用格式:[list].extend(set)
将另一个集合的每个元素依次添加到列表末尾 -
insert()
调用格式:[list].insert(index,object)
从索引插入指定元素
name = ['a', 'b', 'c']
str = ['d', 'e']
name.append(str)------------------['a', 'b', 'c', ['d', 'e']]
name.extend(str)------------------['a', 'b', 'c', 'd', 'e']
name.insert(1, 'd')---------------['a', 'd', 'b', 'c']
2.修改元素
按索引直接赋值即可
name = ['a', 'b', 'c']
name[1] = '修改了'
输出:
>>>> name = ['a', '修改了', 'c']
3.查找元素
-
in和not in
返回布尔值 -
index()
调用格式:index(object, start, stop)
返回索引值,找不到抛出异常,可指定查找范围[start,stop)
4.删除元素
-
del
通用函数,删除指定索引的元素 -
pop()
直接调用,删除末尾元素 -
remove()
调用格式:remove(object)
根据元素值删除
name = ['姓名', 'jsl', 1, 2, 3]
del name[2]-------------------------['姓名', 'jsl', 2, 3]
name.pop()--------------------------['姓名', 'jsl', 1, 2]
name.remove('jsl')------------------['姓名', 1, 2, 3]
5.排序
-
sort()
调用方法:sort()、sort(key, reverse)
对原列表排序,可以不传参数,若传参数,key参数可设置按照指定位置索引排序(多维),reverse设置true降序,设置false升序 -
sorted()
排序后生成新的列表,对可排序的系列数据都可以操作
from random import randint
num = [randint(0, 10) for _ in range(5)]
num.sort()--------------------num = [3, 4, 5, 5, 5]
num.sort(reverse=True)--------num = [10, 8, 6, 5, 2]
new = sorted(num)-------------new = [5, 7, 7, 9, 10]
6.两个列表同时遍历
-
zip()
两个列表对应元素打包成元组,长度与最短的列表相同,通常用来遍历拼接两个列表的元素,返回的是对象,展示列表需要用list转换
name = ['王小明', '李狗蛋', '蔡旭困']
age = [18, 19, 20, 21]
data = zip(name, age)
print(list(data))
#输出:
>>>> [('王小明', 18), ('李狗蛋', 19), ('蔡旭困', 20)]
三.元组(tuple)
元组是一个有序序列,与列表类似,但元组为不可变对象,不能修改、添加、删除,只能访问元组中的元素,支持“系列”的索引访问、切片、连接、比较运算等(参考列表的类似操作)。
四.字典(dict)
1.什么是字典?
字典是一组键/值对的数据结构。每个key对应一个value,key不能重复,通过key可以查询到value。key必须是可hash的,即实现了hash()的对象,例如bool、int、float、str、complex、tuple等,而value可以为任意对象。
字典通过花括号中用逗号分隔的项目定义,基本形式如下:
{key1:value1,key2:value2,key3:value3,...,key n:value n,}
2.字典的访问
-
直接访问key
例如字典d,d[key]返回value值,也可通过赋值修改或者添加键值对。 -
keys()
返回字典的key列表 -
values()
返回value列表 -
items()
返回(key,value)对的列表,对其遍历可取到key和value的一维列表 -
get()
调用格式:get(k)、get(k, v)
调用get(k),返回k对应的value值,k不存在返回None;调用get(k, v)返回k对应value,不存在返回v。
d = {
'name': '坤坤',
'age': 18,
'id': '个人练习生',
}
data1 = d['name']
data2 = d.keys()
data3 = d.values()
data4 = d.items()
data5 = d.get('hobby')
data6 = d.get('hobby', '打篮球')
#输出:
>>>> data1 = 坤坤
>>>> data2 = dict_keys(['name', 'age', 'id'])
>>>> data3 = dict_values(['坤坤', '18', '个人练习生'])
>>>> data4 = dict_items([('name', '坤坤'), ('age', '18'), ('id', '个人练习生')])
>>>> data5 = None
>>>> data6 = 打篮球
3.字典的添加
-
setdefault()
调用格式:setdefault( k )、setdefault( k, v )
setdefault(k)若k存在返回value,否则返回None;setdefault( k, v )当k不存在则添加这个键值对。 -
update()
调用格式:update( [other] )
使用键值对更新或添加到字典中
d = {
'name': '坤坤',
'age': 18,
'id': '个人练习生',
}
data1 = d.setdefault('id')
data2 = d.setdefault('hobby', '打篮球')
print(data1)
print(data2)
print(d)
d.update({'hobby': '唱,跳,rap'})
print(d)
#输出:
>>>> 个人练习生
>>>> 打篮球
>>>> {'name': '坤坤', 'age': 18, 'id': '个人练习生', 'hobby': '打篮球'}
>>>> {'name': '坤坤', 'age': 18, 'id': '个人练习生', 'hobby': '唱,跳,rap'}
4.字典的删除
- del
- clear()
-
pop()
调用格式:pop( k )、pop( k, v )
pop(k)返回对应value值并删除该键值对,否则keyerror;pop(k,v)若k不存在返回v
d = {
'name': '坤坤',
'age': 18,
'id': '个人练习生',
'sex': '?'
}
del d['sex']
data1 = d.pop('hobby', '打篮球')
data2 = d.pop('age')
print(data1)
print(data2)
print(d)
d.clear()
print(d)
#输出:
>>>> 打篮球
>>>> 18
>>>> {'name': '坤坤', 'id': '个人练习生'}
>>>> {}
五.集合(set)
1.什么是集合?
集合是没有顺序的简单对象的的聚集,集合中元素不重复
-
set()
set()可以创建一个空集合,而且set()本身可以作为一个函数来调用,它的作用是去重。
set()
set1 = {1, 2, 2, 3, 4, 1}
print(set)
print(set1)
#输出:
>>>> <class 'set'>
>>>> {1, 2, 3, 4}
2.集合的的添加
-
add()
调用格式:add(x)
set1 = {1, 2, 3, 4}
set1.add(5)
#输出:
>>>> {1, 2, 3, 4, 5}
3.集合的删除
-
remove()
调用格式:remove(x)
集合中移除对象x,若不存在导致keyerror -
discard()
调用格式:discard(x)
集合中移除对象x,若不存在则不操作 -
pop()
直接调用,随机删除一个元素
set1 = {1, 2, 3, 4, 5}
set1.remove(5)
print(set1)
set1.discard(6)
print(set1)
set1.pop()
print(set1)
#输出:
>>>> {1, 2, 3, 4}
>>>> {1, 2, 3, 4}
>>>> {2, 3, 4}