1 字符串的内建函数
-
count()
字符串1.count(字符串2) ——> 统计字符串1中字符串2出现的次数
print('abcaslkdjsdlkj'.count('a'))
-
find()
字符串1.find(字符串2) ——> 返回字符串2在字符串1中第一次出现的下标
str1 = 'how are you!fine,and you'
print(str1.find('you'))
字符串1.find(字符串2,startindex, endindex) --> 指定范围中查找
print(str1.find('you',10,15))
-
join()
字符串.join(序列) --> 将序列中的元素取出,中间用指定字符串拼接在一起产生一个新的字符串
new_str = '=='.join('abc')
print(new_str)
new_str = ',,'.join(['name','age','xiaoming'])
print(new_str)
max()和min()
max(序列), min(序列),获取编码最大(最小)的字符replace()
字符串.replace(old,nwe) --> 将字符串中指定的旧字符串全部替换成新字符串
str1 = 'how are you!fine,and you'
new_str = str1.replace('you','YOU')
print(new_str)
-
split()
字符串1.split(字符串2) --> 将字符串1按照字符串2进行切割,返回列表
str1 = 'how are you!fine,and you'
result = str1.split(' ')
print(result)
2 列表
2.1 概述
列表是python提供的容器型数据类型(序列),可变、有序;其中:
可变 — 元素的个数、值和顺序可变,支持增删改
有序 — 支持下标操作
2.2 列表数据
语法:
列表 = [元素1,元素2,元素3];
元素:
1、可以是任何类型的数据(值、赋值后的变量、除了赋值符以外的其他类型表达式);
2、不同的元素的类型可以不一样。
list1 = [10,12.0,True,'abc',[1,2]]
num = 10
list2 = [num,num*10+2,'abc'.count('a')]
print(list2)
2.3 元素的操作
- 查— 获取列表中的元素
- 获取单个元素
语法:
列表[下标] — 获取列表中指定下标对应的元素(返回值就是对应的元素)
name = ['a','b','c','d',100]
print(name[1])
print(name[-1])
- 获取部分元素(切片)
语法:
列表[开始下标:结束下标:步长];返回结果也是列表
print(name[1:-1])
print(name[-1:1]) #空列表
print(name[:3:-1]) #[100],无开始下标,根据步长选择从前往后或从后往前
print(name[::-1]) # [100, 'd', 'c', 'b', 'a']
-
遍历
for 变量 in 列表:
循环体
变量直接取到的是列表中的每个元素(item -》元素;index -> 下标 - 直接遍历元素
names = ['a','b','c','d']
for name in names:
print(name)
- 遍历下标
for index in range(len(names)):
print(names[index])
- isinstance函数
isinstance(数据,类型) - 判断指定的数据是否是指定的类型
练习:统计一个列表中整型元素的个数
list3 = [23,78.2,'asf',[12,3],290]
count = 0
for item in list3:
if isinstance(item,int):
count += 1
print(count)
- 增—添加元素
- 列表.append(元素)
在列表的最后添加一个元素(修改原列表,不会产生新的列表).
film = [1,2,3,4,5,]
film.append(6)
print(film)
- 列表.insert(下标,元素)
在列表中指定下标前添加一个元素
film.insert(2,2.5)
print(film)
练习:一个有序的数字列表,输入一个数,将这个数插入到列表中,要求插入后不改变列表中元素的排列方式。
n = int(input('请输入一个数'))
list1 = [1,12,32,45,60]
if n <= list1[0]:
list1.insert(0,n)
elif n >= list1[len(list1)-1]:
list1.insert(len(list1),n)
else:
for index in range(1,len(list1)):
if list1[index-1] <= n <= list1[index]:
list1.insert(index,n)
break
print(list1)
- 删 — 删除列表中的元素
- del 列表[下标]
删除列表中指定下标对应的元素
films = [1,2,3,4,5,6,7]
del films[1]
print(films)
- 列表.remove(元素)
删除列表中指定的元素
注意:
1、如果需要删除的元素在列表中有多个,只删除最前面的一个
2、如果要删除的元素不存在,程序会报错
films = [1,1,3,4,5,6,7]
films.remove(1)
print(films)
- 列表.pop()
列表.pop() —— 取出列表中最后一个元素
列表.pop(下标) —— 取出列表中指定下标的元素
films = [1,1,3,4,5,6,7]
del_value = films.pop()
print(del_value)
练习:练习:删除列表中低于60的所有成绩
scores = [70,45,50,87,67,30,100]
index = 0
while index < len(scores):
if scores[index] < 60:
del scores[index]
continue
index += 1
print(scores)
scores = [70,45,50,87,67,30,100]
scores1 = []
for item in scores:
if item >= 60:
scores1.append(item)
print(scores1)
scores1 = [70,45,50,87,67,30,100]
- 改 — 修改元素的值
- 列表[下标] = 新值
修改制定下标对应的元素为新值,下标不能越界
balls = [1,2,3,4,5,6]
balls[1] = 2.5
print(balls)
2.4 列表的运算及函数
-
数学运算
列表1 + 列表2 -> 产生新列表
new_list = ['a','b','c'] + [1,2,3]
print(new_list)
列表1 * N --> 列表中的元素重复N次产生一个新的列表
print([1,2,3] * 3)
- 比较运算:==,!=
print([1,2,3] == [1,2,3])
-
n 和 not in
元素 in 列表 --> 判断列表中是否包含指定的元素
print([1,2] in [1,2,3,4,5,[1,2]]) # True
print([1,2] in [1,2,3,4,5]) #Falses
len(列表)
获取列表中元素的个数**list() **
把指定的数据转换成列表,所有的序列都可以转换成列表;将序列中的元素作为列表元素。
print(list(range(1,10)))
-
max/min
max(列表) --》 获取列表中元素的最大值
min(列表) --》 获取列表中元素的最小值
注意:
1.列表中元素的类型必须一致;
2.数据支持比较运算符