列表(list)详讲

列表(list).png

1.什么时候用列表

需要用一个变量去同时保存多个数据

2.什么是列表(list)

列表是python内置的容器型数据类型(序列),可变(支持增删改)并且有序(支持下标操作)
用中括号将多个元素括起来,多个元素之间用逗号隔开:[元素1,元素2,元素3,...]

3.列表中元素

  • python内置的数据类型,或者是程序员自定义类型的数据都可以;
  • 不同元素的类型可以不一样
  • 注意:赋值运算表达式不能作为列表元素,其他都可以
list1 = [123,123.12,True,'abc',[1,2,3]]
print(list1)
num1 = 10
list2 = [num1,100,100+200,20>num1]
print(list2)

scores = [90,80,70,100,96,60,54,30,85,73,84]

4.查 - 获取列表元素

  • 获取单个元素(和字符串一样):列表[下标]
names = ['jack','marry','maggie','jimmy','tom']
  • 获取部分元素-切片(和字符串一样)
    列表[开始下标:结束下标:步长]
    列表切片的结果是列表
print(names[1:4])  # ['marry','maggie','jimmy']
print(names[1:4:-1]) # []
print(names[::-1])  # ['tom', 'jimmy', 'maggie', 'marry', 'jack']
  • 遍历
a.直接遍历
for 元素 in 列表:     # 变量取到的是元素
    循环体
    
b.通过下标遍历
for 变量 in range(len(列表)):    # 变量取到的是下标
    循环体
"""
for name in names:
    print(name)

for index in range(0,len(names),2):
    print(index,names[index])
练习:将班级学生的成绩保存到scores中,求平均成绩和不及格人数
scores = [90,80,70,100,96,60,54,30,85,73,84]
scores_sum = 0
count = 0
for score in scores:
    scores_sum += score
    if score < 60:
        count += 1
print('平均成绩是%.2f,不及格人数有%d人' %(scores_sum/len(scores),count))

# 补充求和函数 sum
# sum(序列)  - 求序列中所有元素的和;序列要求元素类型一致,并且元素支持求和运算

# print(sum(scores),sum(range(101)))

5. -添加元素

    1. 列表.append(元素) - 在指定的列表最后添加元素
persons = ['phil','cam','joe','jay','stella','alex']
persons.append('clair')
print(persons)
    1. 列表.insert(下标,元素) - 在指定列表的指定下标前插入指定元素
numbers = [1,20,34,50]
numbers.insert(2,22)  # 插在34的前面
print(numbers)
numbers.insert(0,1000)
print(numbers)
练习:输入一个数字,将它添加到一个有序列表中,要求添加进去后不改变从小到大,或者从大到小排列的顺序
[1,20,100,200] 输入:50 [1,20,50,100,200]
输入:0 [0,1,20,100,200]
# 思路:找到第一个比输入的数字大的数字对应的下标,然后插入到这个下标前,如果原来的数字都比输入的小,就添加到最后
num = int(input('输入一个数字:'))
numbers = [1,20,100,200]
for index in range(len(numbers)):
    if num <= numbers[index]:   # 如果num小于下标对应的元素
        numbers.insert(index,num)
        break            # 找到一个比num大的就break掉
else:
    numbers.append(num)
print(numbers)

6.删 - 删除元素

    1. del 列表[下标] - 将指定列表中指定下标对应的元素删除
delete_list = [1,2,3,4,5]
del delete_list[2]
print(delete_list)
    1. 列表.remove(元素) - 将指定列表中第一个指定元素删除
      如果元素不存在,会报错
delete_list.remove('5')
print(delete_list)
  • 3)
    列表.pop() -移除列表中最后一个元素,返回被移除的元素
    列表.pop(下标) -移除列表中指定下标对应的元素,返回被移除的元素
delete_list = [1,2,3,4,5]
del_name = delete_list.pop()
print(delete_list,del_name)

del_name = delete_list.pop(1)
print(delete_list,del_name)
    1. 清空:列表.clear() - 删除列表中所有的元素
names.clear()
print(names)   # []

7.改 - 修改列表中的元素

列表[下标] = 新值 - 将列表中指定下标对应的元素改为新值
nums = [1,2,3]
nums[0] = 100
print(nums)

in / not in

元素 in 列表 --判断一个元素是否在列表中

print([1,2] in [1,2,3,4,[1,2]])   # True
print(1 in nums)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 午后很清静,前来批发蔬菜的商贩一个都没有,这样的时光很难得,我习惯性地拿出一本书,品味起来。旁边的驼子四仰八叉地靠...
    别山举水阅读 6,895评论 52 68
  • 我来到路老师亲自作文班已经两个月了,我发生了许多改变,让我明白不少道理。 第一:让我的作文内容逐渐变得丰富...
    jzs陈思宇阅读 2,047评论 0 0
  • 趋利避害,人之常情。我不得不承认,我确实是个胆小怕事,懦弱无能的人。并且应该说是个,实打实的悲观主义者。 ...
    琮昀阅读 1,111评论 0 0
  • 文/居戎 蚕食 世界上最困难的事,不是硬要把别人的钱塞进自己的口袋里,而是硬要把自己的想法,塞进别人的脑袋里。——...
    居戎阅读 4,073评论 0 1