python-非数字型数据
一:列表操作方法
1:列表定义/查
列表使用符号:[ ]括起来/英文状态下的
列表中多个成员用逗号分割/英文状态下
列表中可以使用print(列表变量名[索引]的方式,访问指定的成员)
//注意:第一个成员的索引是0
不能访问不存在的列表编号
案例
#现有以下列表
list1 = ['关羽', '曹操', '刘备']
print(list1[0])#关羽
print(list[2])#刘备
2:列表-曾
insert:在指定位置添加指定的值
语法:列表名.insert(位置索引,"需要添加的值")
append:在最后添加值
语法:列表名.append(值)
extend:将一个列表中的值追加到另一个列表当中
语法:需要扩展的列表名.extend(移动的列表变量名)
案例
#insert
list1 = ['刘备', '关羽', '张飞']
list1.insert(1, '吕布')
print(list1)
#append
list2.append("张三")
print(list2)
#extend
list2.extend(list1)
print(list2)
3:改
4:删
5:统计相关成员的数量
6:返回指定值在列表中的索引编号
#index()
语法:列表名.index(指定的值,起始位置)
eg:返回张三在列表中的位置
list1.index("张三")#起始位置不写默认为0
7:排序
#sort():从小到大排序
语法:列表名.sort()
#sort(reverse=True):从大到小排序
语法:列表名.sort(reverse=True)
8:逆置
#reverse():把所有成员位置颠倒过来
语法:列表名.reverse()
eg:把list1的位置调换
liest1.reverse()
9:for遍历列表
#遍历列表
'''使用for遍历列表,列表中有几个成员,就循环几次'''
list1 = ['张飞', '刘备', '关羽']
for n in list1:
print(n)
#案例2
'''需求:现有列表list2,使用for循环遍历计算列表中一共有多少数字'''
list2=[0,3,3,9,10,3,5]
sum=0
for n in list2:
sum+=1#列表每循环一次,sum+1
print(sum)
#案例3:计算以上列表相加之和
num1=0
for n in list2:
num1+=n#与while循环计数相加一直,循环一次num1+n一次/num1是存储循环计数相加,n是循环次数
print(num1)
#遍历列表中出现数据类型不统一 的解决办法
'''当一个列表中既有整数,又有字符串时,想要通过一条for代码实现遍历列表,
就需要把数据做一个强转
'''
#案例
sum1=0
list3 = [56, '32', 45, '6']
for n in list3:
sum1+=int(n)
print(sum1)
#案例:判断列表中名字为三个字的有几个人
'''思路:定义一个变量,用于存放三个字名字的人数
使用for循环遍历列表
嵌套for循环,如果外循环循环一次二内循环需要循环三次那么给这个变量+1
最后输出这个变量'''
list4 = ['张三', '李四', '刘老二', '王麻子', '王达成', '隔壁老王']
num2=0#这个变量用于存放名字数超过3各字的人数
for n in list4:
sum2 = 0#这个变量用于循环计数,
for x in n:
sum2 +=1
if sum2==3:#如果在外循环一次中这个变量的值为3了
num2+=1#那么循环计数的变量就加1
print(num2)
10:拆包
拆包的意思:将列表拆开转为一个变量
语法:变量1,变量2,变量3=列表名
//注意:左边变量名要与右边列表中成员保持一直(有几个成员就有几个变量名)
list1 = ['关羽', '张飞', '刘备']
first,second,thind=linst1
print(first)#输出关羽
11:列表推导式
用于快速生成数量庞大的列表
语法:
列表名=[x for x in range(开始,结束,步长)]
列表名=[x for x in range(开始,结束,步长) if]
//主要还是依据range函数
#案例:使用列表推导式的两种方法生成一个0-100步长为10的列表
list1=[x for x in rang(0,101,10)]
list2=[x for x in range(0,100)if x % 2==0]
12:公共方法
#len:返回非数字成员个数
语法:print(len(列表名))
//如果len里面放的时列表,返回列表成员个数
//如果里面放的时字符串,返回的时字符串中的字符个数
#max:返回列表中的最大值
语法:print(max(列表名))
//如果max里面放的时列表,返回列表最大值
//如果max里面放的时字符串,依据ASCII编码中最大的哪个字符
#min:返回最小值
语法:print(min(列表名))
//如果min里面放的时列表,返回列表最小值
//如果min里面放的时字符串,依据ASCII编码中最小的哪个字符
#in :判断指定的值是否存在
指定的值 in 列表
#not in 判断指定的值是否不存在
指定的值 not in 列表
案例:关于判断指定的是否存在
list3 = [4, 6, 1, 23]#判断4在不在列表中
fox 4 in list3:
print("有")
fox 22 not in list3:
print("没有")