Python学习总结【连载】(五)

Python学习总结【连载】(五)

2018.06.19 Juttachen


概述

+ 18 list 的概述

  • 概念与特点

+ 19 list 元素的加改删查

+ 20 关于list的运算符和函数


十八、list 的概述

1. 概念与特点

补充:python中的数据类型:数字(不可变),字符串(不可变),列表,元组(不可变),字典,集合(不可变)
后四种又称序列类型或者容器类型数据,他们的特点就是可以存储很多数据。

列表:一个列表中可以存储多个不同类型的数据(在别的语言中又可以叫数组)
列表存储数据的方式:将多个数据放到一个中括号中,多个数据直接用逗号隔开。
列表特点:列表是可变的(指的是里面元素的个数和值可变)
列表是有序的(所有可以通过下标去获取元素,【字符串也是有序的】)

例子:声明一个列表 list1: 有5个元素,标志是中括号。

    list1 =[1, 2, 3, 10.9, 'bcd']
    print(list1)

例子:声明一个空的列表

    list2 = []

十九、list 元素的加改删查

1.list 增加元素

    list1 = []

a. append方法:

格式:列表名.append(元素)
特点:append添加元素是将元素添加到列表的后面的

    list1.append('abc')
    print(list1)

    list1.append(10)
    print(list1)

练习:找出列表[1,34,5,6,89,3,2,4]中所有的偶数,并储存

    list2 = [1,34,5,6,89,3,2,4]
    list1 = []
    for item in list2:
        if item % 2 == 0:
            list1.append(item)
    print(list1)

b. insert方法:

格式:列表名.insert(index(下标),元素)
特点:1.在指定的下标前插入指定的元素
2.在insert中下标是可以大于列表长度的(可以越界)。

  • 当大于列表长度时,插入的数放在最后

  • 在列表最前面插入数时,可以将下标写成0

      list3 = [1, 2, 3, 4, 5, 6, 7, 8]
      list3.insert(1,'a')
      print(list3)
    

练习:通过insert在list3 的4和5之间插入元素’b‘,再在8的后面插入元素’c‘

    list3.insert(5,'b')
    list3.insert(10,'c')
    print(list3)

2.list 修改元素

修改元素:通过下标拿到对应的元素,然后重新赋值(一定注意只有操作下标才能修改)

    list1 = [1, 2, 3, 4, 5]
    list1[1] = 20 # 将下标是1的元素变成20
    print(list1)

3.list 删除元素

a. del语句

补充:del语句在python中,可以删除任何内容。
del语句删除列表元素的语法:del 列表名[下标],删除的时候下标也是不能越界的
例子:删除下标为1的元素

    list1 = ['a',10,True]
    print(list1)
    del list1[1]
    print (list1)

b. remove方法

格式:列表名.remove(元素)
特点:

  • 可以删除指定元素

  • 直接与元素相关,和下标没有关系

  • 使用remove删除列表元素的时候,如果指定的元素在列表中有多个,只删除第一个

      list4 = ['a','b','c',1,2,3]
      list4.remove('c')
      print(list4)
    

c.pop方法

可以取出指定下标的元素,对列表来说则是被删除。
格式:列表名.pop(下标):准确的说是从列表中取出指定下标的元素。(元素本身存在,但是被取出了,对于列表来说就是不存在了)
格式:列表名.pop():从列表中取出最后一个元素。

    list6=[1,3,4,2,3,4,1]
    delitem = list6.pop(1) #将下标是1的元素从列表中取出
    print(delitem,list6)

    del_item2 = list6.pop()
    print(del_item2,list6)

例子:讲一个列表[1,2,3,4,5,6]中的元素全部取出放到另一个列表里变成[6,5,4,3,2,1]

    list1 = [1,2,3,4,5,6]
    list2 = []
    while len(list1)>0:
        # 从前往后取
        value = list1.pop(0)
        list2.insert(0,value)
        # 从后往前取
        value = list1.pop()
        list2.append(value)
        print(value)
    print(list1)
    print(list2)

4.获取列表元素(拿数据)

a.获取单个元素

字符串的切片问题和列表也是一样的,都是一种方式。

    list1 =[1, 2, 3, 10.9, 'bcd']
    print(list1[0])
    print(list1[3])
    print(list1[-1])
    # print(list[5]) 越界错误     IndexError:list indeo out of range

b.获取子串

还是与字符串相似。

    list3 = [2,10.5,'a','abc',10]
    print(list3[1:4])  # 左闭右开,获取到的是从开始下标到结束下标前一个的所有元素
    print(list3[0:4:2]) # 从下标为0开始到下标为3,每两个元素取一个
    print(list3[::2])

c. 遍历列表

遍历列表即把列表中的元素一个一个的拿出来。
通过for循环将元素全部打印一次

    list4 = [1,34,6,2,8,91,4]

    for item in list4:
        if item % 2 == 0:
            print(item,end=' ')

计算列表中所有元素的和

    print()
    sum1 = 0
    for item in list4:
        sum1 += item
    print(sum1)

使用while循环遍历列表元素

    i = 0  # i就是列表元素对应的下标
    while i < len(list4):
        print(list4[i])
        i += 1

取下标是奇数的数
方法一:

    i = 1
    while i < len(list4):
        print(list4[1])
        i += 2

方法二:

    i = 0
    while i < len(list4):
        if i % 2 == 0:
            i += 1 # 必须要写,因为continue会终止一次循环,后面的就不运行了,如果没有这句话就会死循环。
            continue
        print(list4[i])
        i += 1

二十、关于list的运算符和函数

1.求列表长度借用len()函数

格式:len(列表或列表名)

    list1 =[1,2,3,4,5,6]
    length = len(list1)
    print(length)

2.列表的+操作

列表1+列表2:将列表1和列表2中的元素,组合成一个新的列表

    list2 = [1, 2, 3, 4] + ['a','b']
    print(list2)

3.列表的*操作

列表整数:将列表中的元素重复指定次数,组合成一个新的列表。*

    list3 = [10, 2]*4
    print(list3)

4. in 和 not in

元素 in列表:判断指定的元素是否在指定的列表中
元素 not in列表:判断指定的元素是否不在指定的列表中

    list4 = ['abc','123',1,'0o',10]
    re = 'abc' in list4
    print(re)

    re = 'abcd' not in list4
    print(re)

4.获取列表中的最大的元素

*** 格式:max(列表)***

    list5 = [1,34,6,78,90,12,35]
    max1 = max(list5)
    min1 = min(list5)
    print(max1)

5.获取列表中的最小值

格式:min(列表)

    list6 = ['a','b','c','d','a']
    print(max(list6))

注意:获取最大值或最小值的时候,列表的元素的类型要么都是数字要么都是字符串

练习:求表演的平均分数(5个裁判,给表演打分。去掉一个最高分,再去掉一个最低分)

    import random
    list1 = [] # 用来存储产生的随机数
    for _ in range(0,5): # 当出现明显的要重复的命令,就要写循环。
        num = random.randint(0,10)
        # random.uniform(x,y):随机产生固定范围的浮点数
        list1.append(num)
    print(list1)
    list1.remove(max(list1))
    list1.remove(min(list1))
    print(list1)
    # sum(列表):计算列表中所有的元素的和,这里就可以直接用sum函数来计算和,不用用循环
    sum = 0
    while len(list1)> 0:
        num1 = list1.pop()
        sum += num1
    print(sum/3)

6.将其他的数据转换成列表

格式:list(数据,但不是所有都行,只有序列类的才行),可以将字符串转换为列表。

    list1 = list('abcdefg')
    print(list1)
    # 将列表转成字符串(不仅仅是将列表的元素拼接成字符的,而是将整个列表所有的结构都作为字符串的字符)
    str1 =str([1,2,3,4,'a'])
    print(str1,str[0])
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容

  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,579评论 1 118
  • 闲来无事,坐在商场的按摩椅上,看看前面走过的各式美女。因为天气的原因,大家都穿得还很清凉的。当然我也是清凉的,...
    洪七公叫花鸡阅读 138评论 0 1
  • 匆忙的大一在七月渐涨的暑气里弥散殆尽,尚未来得及仔细品味,便被记忆永久地封存。在这须臾的大学一年级里,似是觅得了许...
    水舌有毒阅读 314评论 0 1
  • 蜗居的门终于到位了。 在蜗居居住快一年了,然而一直没有卧室门。最近,老爸帮我联系了安装门的师傅,同时还准备了门及门...
    爱阅沈阳阅读 199评论 0 0
  • 老朋友来家做客,聊到太晚,早上简单煮了燕麦粥就窝在沙发上,吃零食、聊天、陪小朋友玩。帮朋友约好车,中午就送她回老家...
    我爱小媛宝阅读 526评论 2 2