2018-12-29

一、 了解列表

1、 什么是列表(list)

列表是python提供的容器型数据类型。可变且有序。
可变 - 列表中的每个元素的值可变,列表的长度可变,列表中元素的顺序可变
有序 - 每个元素可以通过下标来确定位置
列表的字面量:通过‘[]’括起来,里面有多个元素,每个元素用逗号隔开
注意:列表元素的类型可以是python支持的所有数据列型,并且同一个列表中不同元素的类型可以不一样

list1 = [12, 12.23, 'wqe1', True, [1234], {'a': 10}, lambda x: 2 * x]
print(len(list1))

2、 获取列表元素(和字符串获取字符的语法一样)

a. 获取单个元素
列表[下标] - 获取列表中指定下标对应的元素
b. 获取部分元素(切片)
列表[开始下标:结束下标:步长]
c. 一个一个的取出所有元素(遍历)
可以使用for循环直接遍历列表拿到每个元素(操作元素的时候和下标无关)
通过遍历列表元素对应的下标来遍历列表元素(操作元素的时候和下标有关)

直接遍历

for item in list1:
    print(item)
# 通过下标遍历
for index in range(len(list1)):
    print(index, list1[index])

统计一个班的学生的成绩,存到一个列表中。求整个班的学生的平均成绩

s = [23, 34., 31, 57, 9, 87, 87, 56, 98]
for x in s:
    x += x
print(x/len(s))

二、更新列表(增删改查)

1、 增(添加列表元素)

a. append
列表.append(元素) - 在指定的列表的最后添加指定的元素,此操作不会产生新的列表
b. insert
列表.insert(下标,元素) - 在指定的下标前插入指定的元素

L1 = [1, 2, 3]
L1.append(4)
print(L1)
L1.insert(0, 0)
print(L1)
#[1, 2, 3, 4]
#[0, 1, 2, 3, 4]

2、 删(删除元素)
a. del
del 列表[下标] - 删除列表中指定列表的元素
注意:python中del可以删除任何数据
这儿的下标不能越界
b. remove
列表.remove(元素) - 删除列表中指定的元素,若有多个将删除第一个。
注意:被删除的元素在列表中必须是存在的
c. pop
列表.pop() - 将列表中最后一个元素从列表中取出
列表.pop(下标) - 将列表中指定下标对应的元素从列表中取出

  • 坑一:遍历列表删除部分元素,删不全。---遍历的时候对原列表切片(列表[:])

  • 坑二:通过下标遍历列表,删除元素的时候,下标越界和元素获取不全

    • 解决办法:下标对应的元素需要删除,下标值不动;不需要删除的下标加1

用一个列表统计一个班的学生年龄(控制台不断输入年龄值,知道输入end为止),然后删除所有小于18岁的年龄

n = input('输入年龄,end结束:')
l = []
while n != 'end':
    l.append(int(n))
    n = input('输入年龄,end结束:')
c = []
for i in l:
    if i <= 18:
        c.append(i)
for i in c:
    l.remove(i)
print(l)

坑一:

n = input('输入年龄,end结束:')
l = []
while n != 'end':
    l.append((int(n)))
    n = input('输入年龄,end结束:')
for i in l[:]:
    if i < 18:
        l.remove(i)
print(l)

坑二:

n = input('输入年龄,end结束:')
l = []
while n != 'end':
    l.append((int(n)))
    n = input('输入年龄,end结束:')
i = 0
while i != len(l):
    if l[i] < 18:
        l.pop(i)
        continue
    i += 1
print(l)

"""
3、 改(修改元素的值)
列表[下标] = 新值 -- 修改列表中指定下标对应的值

一个列表中保存到的是学生的成绩,要求将成绩小于60的改成下一个班见,并且统计下一个班见的总数

scores = [90, 78, 50, 77, 23, 82, 45]
i = 0
for x in range(len(scores)):
    if scores[x] < 60:
        i += 1
        scores[x] = '下一个班见'
print(scores, i)

三、 list的相关方法

1、 相关运算:‘+ , * ’

a. 数学运算
列表1 + 列表2 - 将两个列表中的元素合并在一起产生一个新的列表
列表 * N - 列表中的元素重复N次,产生一个新的列表
b. 支持比较运算
比较大小的原理和比较字符串类似

2、 in / not in

元素 in 列表 - 判断列表中是否有指定的元素

3、 len

len(列表) - 获取列表中元素的个数

4、 list

list(数据) - 将其他数据转换成列表;只有序列才可以转换成列表
转换的时候就是将序列中所有的元素转换成列表的元素
不能用python提供的类型的名字来命名。

5、 序列的其他方法

max(序列)- 获取序列中值最大的元素
min(序列)- 获取序列中值最小的元素
sum(序列)- 获取序列中所有元素的和
注意:以上是哪个方法,要求序列中的元素类型必须一致,并且该类型支持比较和加法运算

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

推荐阅读更多精彩内容

  • 一、复习 1.分支结构 if 的用法:if 条件语句:代码段 if - else 的用法:if 条件语句:代码段1...
    绝世小丑阅读 194评论 0 0
  • """1.什么是列表(list)列表是python提供的容器型数据类型。可变并且有序的可变 - 列表中的每个元素的...
    遥远的她197阅读 145评论 0 0
  • 02learn_list 1. 什么是列表(list) 列表是python提供的容器型数据类型。可变并且有序的可变...
    woming阅读 217评论 0 0
  • 一.列表 1.什么是列表(list) 列表是Python提供的容器型数据类型可变 - 列表中的每个元素的值可变,列...
    白与黑_d83f阅读 177评论 0 0
  • 一、快捷键 ctr+b 执行ctr+/ 单行注释ctr+c ...
    o_8319阅读 5,779评论 2 16