"==========曹志华=========="
1.什么时候用列表:需要用一个变量去同时保存多个数据。
2.什么是列表(list)。
'''
列表是python内置的容器型数据类型(序列)。可变(支持增删改)并且有序(支持通过下标操作)。
用【】中括号,将多个元素括起来,多个元素之间用逗号隔开:【元素1,元素2,元素3···】
'''
3.列表中的元素:python内置的数据类型对应的数据,或者是程序员自定义类型的数据都可以(基本上没有要求)
不同元素的类型可以不一样。
注意:赋值运算表达式不能作为列表元素,其他的都可以。
list1 =[1120, 12.1 True,'abc',[1,2,3]]
4.列表的操作:
a= 查 获取列表元素。
获取单个元素:列表[下标]
'''
names = ['海贼王', '火影忍者','死神','犬夜叉','熊出没']
print(names[0]) #海贼王
'''
b= 切片,获取部分元素(和字符串一样): 列表[开始下标:结束下标:步长]
列表切片的结果是一个列表。
print(names[1:4]) 取1到3的值。
print(names[::-1]) 从后往前取。
print(names[:]) 拷贝
遍历
'''
直接遍历:
for 变量 in 列表: # 变量取的是元素
循环体
遍历下标:
for 变量 in range(len(列表)): #变量取的是下标
循环体
for name in names:
print(name)
for index in range(0,len(names),2):
print(index,names[index])
'''
'''
求平均分和不及格人数:
scores = [90, 80,70,100,76,57,54]
score1 = 0
count2 = 0
count1 = len(scores)
for score in scores:
score1 += score
if score <= 59:
count2 += 1
print('平均成绩%.1f,不及格人数%d' % (score1/count1, count2))
'''
补充:求和函数sum
sum(序列) = 序列要求元素类型一致,并且元素支持就和运算
print(sun(scores), sum(range(101))) #前一个是求总分, 后边一个是求0-100的和
5.增 ==往列表添加元素
1.列表.append(元素) 在指定的列表 最后 添加指定的元素。
'''
persons = ['路飞','宝儿姐','张川']
persons.append('容嬷嬷')
print(persons)
'''
2.列表: insert(下标,元素) = 指定的列表中,指定下标前插入指定的元素。
'''
numbers = [1, 20, 33, 23]
numbers.insert(2,111)
print(numbers) #[1, 20, 111, 33, 23]
'''
练习:输入一个数字,将它添加到一个有序列表中,要求添加进去后,不改变从小到大或者从大到小排列的顺序。
'''
numbers = [1, 20 , 100 , 200] #输入:50 [1, 20 , 50, 100 , 200]
num = 11
count1 = 0
for number in numbers: #1 20 100
if num >= number:
count1 +=1
numbers.insert(count1,num)
print(numbers)
方法二
for index in range(len(numbers)):
if numbers[index] >= num:
numbers.insert(index,num)
break
else:
numbers.append(num)
print(numbers)
'''
6.删除元素。
a = del 列表【下标】 = 将指定列表中指定下标元素删除。
numbers = [1, 20 , 100 , 200]
del numbers [2] #[1,20,200]
b 列表.remove(元素) = 删除第一个指定元素。
如果元素不存在会报错
numbers.remove(20)
print(numbers) #[1,200]
c 列表.pop() = 移除列表中最后一个元素,返回被移除的元素。
列表.pop(下标) = 移除列表中指定下标的元素,返回被移除的元素。
'''
numbers = [1, 20 , 100 , 200]
del_num=numbers.pop()
print(numbers,del_num)
numbers.pop(1) #删除20 【1 , 100, 200】
print(numbers)
'''
练习:删除指定的100.
numbers1 = [1, 20, 100, 200, 100, 100, 200, 23]
d 清空: 列表.clear == 清空列表中所有的元素。
numbers.clear() #清空列表中所有的 内容。
7.改:修改列表中的元素。
列表【小标】= 新值 将列表中指定下标对应的元素改成新值。
'''
nums = [1,3,4]
num2[0] = 100
print(nums) #[100, 3, 4]
'''