zoukankan      html  css  js  c++  java
  • python学习笔记 day04 列表增删改查

    写了一个python文件,想在终端中运行:windows+r(或者cmd)输入python+想要运行的py文件所在的目录 即可。

    pycharm的安装

    参考博客:

    https://www.jianshu.com/p/042324342bf4

    https://blog.csdn.net/zhizunyu2009/article/details/81541652

    激活地址:

    http://idea.lanyus.com/

    知识点小结

    1.有时候我们需要用户输入age,salary等信息,输入的数据应该是数字组成的,由于input输入的信息都是str类型,所以我们可以使用age.isdigit()来检验输入的数据必须合格~;

    2.如果程序执行到某一步,想要退出程序,可以使用exit("error,and will quit~);

    3.python3中是没有int 和 long 之分的;

    列表增删改查

    之前说过对于字符串的操作都会产生一个新的字符串,但是列表的操作比如append却是对原列表进行操作;

    append()方法:

    作用于原来列表,在列表的末尾增加元素;

    L=['xuanxuan','heheh','keek']
    while True:
        name=input("please input a name:")
        if name=='q':
            break
        else:
            L.append(name)
    print(L)

    insert()方法:

    需要提供的参数是要插入的元素,以及该元素想要插入的索引位置

    L=['xuanxuan','keke','xixi','dongdong']
    L.insert(2,'mama')
    print(L)

    运行结果:

    ['xuanxuan', 'keke', 'mama', 'xixi', 'dongdong']

    extend()方法:

    需要提供的参数是一个可迭代的对象!,最终插入的结果是在列表的末尾依次插入该可迭代对象中的元素

    L=['xuanxuan','keke','xixi','dongdong']
    L.extend('123')
    L.extend([4,5,6])
    print(L)

    运行结果:

    ['xuanxuan', 'keke', 'xixi', 'dongdong', '1', '2', '3', 4, 5, 6]

    注意上面当extend()中的参数是list对象时,插入到原列表的元素是list中的一个个元素!而不是[1],[2],[3]这种结构

    L=['xuanxuan','keke','xixi','dongdong']
    L.extend(123)
    print(L)

    运行结果:

    TypeError: 'int' object is not iterable

    是因为int不是可迭代对象!,不能作为extend方法的参数,因为123 int类型不是由1 2 3 三个数组成的,而是123是一个数字,整体

    pop()方法:按索引删除,有返回值

    用于删除list的元素,传入的参数是所要删除元素的索引,不写索引,默认删除最后一个元素,并且该方法是有返回值的,返回值就是所要删除的元素值

    L=['xuanxuan','keke','xixi','dongdong']
    L.pop(1)
    print(L)

    运行结果:

    ['xuanxuan', 'xixi', 'dongdong']
    L=['xuanxuan','keke','xixi','dongdong']
    L.pop()  #不写参数,默认删除最后一个元素
    print(L)

    运行结果:

    ['xuanxuan', 'keke', 'xixi']

    remove():按照元素删除,没有返回值

    L=['xuanxuan','keke','xixi','dongdong']
    L.remove('xuanxuan')
    print(L)

    运行结果:

    ['keke', 'xixi', 'dongdong']

    clear():清空列表,会返回一个空的list

    L=['xuanxuan','keke','xixi','dongdong']
    L.clear()
    print(L)

    运行结果:

    []

    del():从内存中删除列表

    L=['xuanxuan','keke','xixi','dongdong']
    del(L)
    print(L)

    由于L已经被删除了,所以再运行只会报错

    del L[a:b]: 可以删除一块内容,切片删除

    L=['xuanxuan','keke','xixi','dongdong']
    del L[:3]
    print(L)

    运行结果:

    ['dongdong']

    改元素:可以直接按照索引改值:

    L=['xuan','ke','fang']
    L[0]='xuanxuan'
    print(L)
    ['xuanxuan', 'ke', 'fang']

    改元素可以按照切片来修改:效果就是会把迭代对象的每一个元素都填进去

    L=['xuanxuan','keke','fangfang','xiaxia']
    L[:2]='嘻哈可爱'
    print(L)

    运行结果:(就是把原来0 1 位置的元素去掉,用新的属于迭代对象中的元素去填充)

    ['', '', '', '', 'fangfang', 'xiaxia']

    所以如果按照索引来修改,元素需要对应(只能是一个),如果是按照切片来修改,前后元素个数不需要对应,只是会把索引对应位置的元素去掉,用迭代对象中的元素去填充!

    列表和字符串共有的一些方法:

        len():     list长度;

    .count():   求某一个元素出现的次数

    .index():  查找某一个元素的索引(字符串除了index()外还有find()方法)

    .sort():     对list进行排序(有比较意义的)(默认从小到大排序)

    .sort(reverse=True) :参数reverse改为True后,可以从大到小倒排序

    .reverse():可以实现原有list的反转(不是排序)

    L=[2,6,1,9,3,7,0,8]
    print(len(L))
    print(L.count(2))
    print(L.index(8))
    # L.sort()
    # print(L)
    # L.sort(reverse=True)
    # print(L)
    L.reverse()
    print(L)

    列表的嵌套

    L=['xuanxuan','啊哈','你好']
    #如果想把列表中的啊哈改为啊嘻,可以有两种方法:
    # L[1]='啊嘻'
    # L[1][1]='嘻'  #错误做法,因为L[1]是str类型,字符串是不能复制操作的
    L[1]=L[1].replace('','') #右边是把L[1]也就是'啊嘻'这个str中的‘哈’替换成‘嘻’,得到的新的字符串复制给L[1]
    print(L)

    这里在强调一下,str字符串对象是不可以赋值操作的!要想修改字符串中的值可以使用str.replace()方法~

    talk is cheap,show me the code
  • 相关阅读:
    PDF太大怎么办?缩小PDF的4种常用方法
    电脑插上网线无法连接网络完美解决方案
    HTTP攻击与防范-跨站攻击-01简介
    HTTP攻击与防范-跨网站脚本攻击
    HTTP攻击与防范-PHP客户端脚本攻击
    HTTP攻击与防护-函数注入攻击
    HTTP攻击与防范-命令注入攻击
    重置NSX防火墙策略
    NBU8.1安装
    Vcenter由Win2008r2迁移到linux
  • 原文地址:https://www.cnblogs.com/xuanxuanlove/p/9497047.html
Copyright © 2011-2022 走看看