概述
Day 6 - 列表 part II
-
增 - 在列表中增加元素
-
append
List.append(元素) - 在列表的最后添加指定的元素(不会产生新的数据,是直接修改的原列表)
names = ['路飞', '佐罗', '罗宾'] names.append('娜美') names.append('乔巴')
-
Insert
List.insert(下标,元素) - 在列表指定下标前插入指定的元素
names.insert(1, '乌索普') print(names) names.insert(0, '山治') print(names)
-
extend
List. extend(序列) - 将序列中的所有元素添加到列表的最后
序列是容器型数据类型,不是数字
sports = ['篮球', '足球', '乒乓球'] sports.extend(['羽毛球', '排球']) print(sports) # 练习:给一个分数列表:[90, 56, 78, 89, 45, 60, 32, 100] 在低于60分前加0 scores = [90, 56, 78, 89, 45, 60, 32, 100] new_scores = scores[:] index = 0 # scores中元素的下标 for item in new_scores: print(index, item) if item < 60: scores.insert(index+1, 0) index += 1 # 如果插入了一个0,index还要加1 print('+0 index:', index) print(scores) index += 1 print(scores)
-
-
删 - 删除元素
-
del
del 列表[下标] -删除列表中指定下标对应的元素
names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王'] del names[2] # ['后羿', '王昭君', '百里守约'] print(names) # ['后羿', '王昭君', '百里守约', '鲁班七号'] del names[-3] print(names) # ['后羿', '百里守约', '鲁班七号']
-
Remove - 删除列表中指定元素(如果元素不存在会报错:如果元素有多个,只会删最前面的一个)
# 列表.remove(元素) - 删除列表中指定元素 names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王'] names.remove('伽罗') print(names) names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王']
-
pop
列表.pop() - 取出列表中的最后一个元素
列表.pop(下标) - 取出列表中指定下标对应的元素,返回的数据就是取出来的元素
del_name = names.pop() print(names, del_name)
-
clear
列表.clear() - 删除列表中所有的元素
names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王'] names.clear() # 效率比赋值为[]要高 print(names) # [] names = ['后羿', '王昭君', '伽罗', '百里守约', '鲁班七号', '牛魔王'] names = [] # 练习: 删除scores中所有低于60的分数 scores = [90, 56, 40, 67, 92, 89, 59] new_scores = scores[:] for item in new_scores: if item < 60: scores.remove(item) print(scores)
-
python中用一个变量直接给另一个变量赋值,赋的是变量保存的地址
-
改 - 修改列表元素的值
列表[下标] = 新元素 - 将列表指定下标对应的元素修改成新的元素
movies = ['恐怖游轮', '致命id', '忍者神龟', '赌神', '雪国列车'] movies[-2] = '盗梦空间' print(movies) # 练习:将scores中低于60分的成绩全部置零 scores = [90, 56, 40, 67, 92, 89, 59] for x, item in enumerate(scores): if item < 60: scores[x] = 0 print(scores)
-
列表的加法运算和乘法运算
列表1 + 列表2 - 将列表1和列表2合并产生一个新列表
列表 * N / N * 列表 - 列表中的元素重复N次产生一个新的列表(N是正整数)
list1 = [1, 2, 3] + [1, 2, 3]
print(list1) # [1, 2, 3, 1, 2, 3]
list2 = [1, 2, 3] * 3
print(list2) # [1, 2, 3, 1, 2, 3, 1, 2, 3]
# 加法和乘法运算不会修改原列表
list3 = ['hello', 'how']
list4 = list3 + ['are', 'you']
print(list3) # ['hello', 'how']
-
比较运算
# 1)==, != print([10, 20, 30] == [20, 10, 30]) # False print([10, 20, 30] == [10, 20, 30]) # True # 2) >, <, >=, <= # 两个列表比较大小,比较的是第一对不相等的元素的大小(从前往后下标相同的元素为一对) print([100, 200, 300, 400] > [200, 100]) # False print([100, 200, 300, 400] > [100, 50]) # True print([10, 20, 30, 3] > [10, 20, 30]) # True
-
In and not in
# 元素 in 列表 - 判断指定的元素是否在指定列表中 # 元素 not in 列表 - 判断指定元素是否不在指定列表中 names = ['李白', '杜甫', '白居易', '辛弃疾'] print('陶渊明' in names) # False print('杜甫' in names) # True # 练习:获取同时选择两门的学生的姓名 pythons = ['小明', '张三', '小花', 'Bob'] javas = ['李四', '小明', '王五', 'Bob'] new_list = [] for item in pythons: if item in javas: print(item) new_list.append(item) print(new_list)
-
系统提供的函数:max/min/sorted/sum/len/list/reverse
# len(序列) - 获取序列中元素的个数 pythons = ['小明', '张三', '小花', 'bob', 'tom'] print(len(pythons)) # max(序列)/min(序列) - 求序列中元素的最大值/最小值 scores = [89, 78, 56, 90, 87, 96, 45, 67] print(max(scores)) # 96 print(min(scores)) # 45 # sorted(序列) - 对序列中的元素从小到大排序,产生一个新的列表(不会修改原序列) new_scores = sorted(scores) print(new_scores) # [45, 56, 67, 78, 87, 89, 90, 96] # sorted(序列,reverse = True) - 对序列中的元素从大到小排序,产生一个新的列表(不会修改原序列) new_scores = sorted(scores, reverse=True) print(new_scores) # [96, 90, 89, 87, 78, 67, 56, 45] # sum(序列) - 求序列中所有元素的和(序列中的元素必须都是数字) sum1 = sum(scores) print('和:', sum1) print('平均分', sum(scores)/len(scores)) print(sum(range(101)))
list(序列) - 将指定的序列转换成列表
# 1)所有的序列都可以转换成列表 2)将序列中的元素变成列表中的元素
print(list('abc')) # ['a', 'b', 'c']
print(list(range(4))) # [0, 1, 2, 3]
-
列表相关的方法
-
列表.copy() - 复制原列表产生一个一模一样的新列表(相当于 列表[:]; 浅拷贝)
nums = [10, 20, 30] num1 = nums num2 = nums.copy() print(num1, num2) nums.remove(20) print('num1:', num1) print('num2:', num2)
-
列表.count(元素) - 统计列表中指定元素的个数
foods = ['大闸蟹', '小龙虾', '花甲', '包子', '油条', '小龙虾', '包子', '小龙虾'] print(foods.count('小龙虾')) print(foods.count('包子'))
-
列表.index(元素) - 获取指定元素的下标(如果有多个元素存在,返回第一个。如果元素不存在会报错)
foods = ['大闸蟹', '小龙虾', '花甲', '包子', '油条', '小龙虾', '包子', '小龙虾'] print(foods.index('花甲')) # 2 print(foods.index('小龙虾')) # 1
-
列表.reverse() - 将指定列表逆序
foods = ['大闸蟹', '小龙虾', '花甲', '包子', '油条', '小龙虾', '包子', '小龙虾'] foods.reverse() print(foods)
-
列表.sort() - 将列表中的元素从小到大排序(不会产生新的列表)
# 列表.sort(reverse = True) - 将列表中的元素从大到小排序(不会产生新的列表) ages = [50, 89, 23, 34, 18, 25] ages.sort() # [18, 23, 25, 34, 50, 89] ages.sort(reverse=True) print(ages) # [89, 50, 34, 25, 23, 18]
-
最后
以上就是秀丽睫毛为你收集整理的列表和其相关操作的全部内容,希望文章能够帮你解决列表和其相关操作所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复