zoukankan      html  css  js  c++  java
  • python数据类型:list及其方法

    1.list  类,列表

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]

    列表由中括号括起来;列表中可以嵌套任何类型;逗号分割每个元素;列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去

    列表相当于一个“集合”,内部放置任何东西

    2.list类中提供的方法

    (1)append():原来列表在最后位置进行追加

    li = [11, 22, 33, 22, 44]
    li.append(5)
    li.append("alex")
    li.append([1234,2323])
    print(li)

    输出结果为:[11, 22, 33, 22, 44, 5, 'alex', [1234, 2323]](只能一个一个元素追加)

    (2)clear():清空列表

    li = [11, 22, 33, 22, 44]
    li.clear()
    print(li)

    输出结果为:[]

    (3)copy():浅拷贝

    li = [11, 22, 33, 22, 44]
    v = li.copy()
    print(v)

    输出结果为:[11, 22, 33, 22, 44]

    (4)count():计算元素出现的个数

    li = [11, 22, 33, 22, 44]
    v = li.count(22)
    print(v)

    输出结果为:2

    (5)extend():扩展原列表 

    li = [11, 22, 33, 22, 44]
    li.extend([9898,"王强"])
    print(li)

    输出结果为:[11, 22, 33, 22, 44, 9898, '王强']

    相当于内部进行了for循环,和下面的命令输出一致

    li = [11, 22, 33, 22, 44]
    for i in [9898,"王强"]:
        li.append(i)
    print(li)

     extend()的参数是可迭代对象,进入列表中会变成一个个的元素,相比于append()对比结果:[11, 22, 33, 22, 44, [9898, '王强']]

    li = [11, 22, 33, 22, 44]
    li.extend("不得了")
    print(li)

    输出结果为:[11, 22, 33, 22, 44, '不', '得', '了'](将字符串中的字符一次追加成一个个的元素)

    (6)index():某个元素的索引位置

    li = [11, 22, 33, 22, 44]
    v= li.index(22)
    print(v)

    输出结果为:2

    (7)insert():指定索引位置插入元素

    li = [11, 22, 33, 22, 44]
    li.insert(0,99)
    print(li)

    输出结果为:[99, 11, 22, 33, 22, 44]

    (8)pop():删除某个元素(1.指定索引;2. 默认最后一个),并获取删除的元素

    li = [11, 22, 33, 22, 44]
    v = li.pop()
    print(li)
    print(v)

    输出结果为:

    [11, 22, 33, 22]
    44

    li = [11, 22, 33, 22, 44]
    v = li.pop(1)
    print(li)
    print(v)

    输出结果为:

    [11, 33, 22, 44]
    22

    (9)remove():删除列表中的指定元素,左边优先

    li = [11, 22, 33, 22, 44]
    li.remove(22)
    print(li)

    输出结果为:[11, 33, 22, 44]

    (10)reverse():将当前列表进行翻转

    li = [11, 22, 33, 22, 44]
    li.reverse()
    print(li)

    输出结果为:[44, 22, 33, 22, 11]

    (11)sort():列表的排序(默认从小到大排序)

    li = [11,44, 22, 33, 22]
    li.sort()
    print(li)

    输出结果为:[11, 22, 22, 33, 44]

    li = [11,44, 22, 33, 22]
    li.sort(reverse=True)
    print(li)

    输出结果为:[44, 33, 22, 22, 11](li.sort(reverse=True):从大到小排序)

    3.列表中比较重要的功能

    (1)索引取值

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    print(li[3])

    输出结果为:age

    索引取值时可以取到列表内部列表元素中的各种元素

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    print(li[4][1][0])

    输出结果为:19

    (2)切片取值

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    print(li[3:-1])

    输出结果为:['age', ['王强', ['19', 10], '王思骐'], 'alex']

    (3)for循环、while循环

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    for item in li:
        print(item)

    输出结果为:

    1
    12
    9
    age
    ['王强', ['19', 10], '王思骐']
    alex
    True

    (4)索引的方式修改和删除

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    li[1] = 120
    print(li)
    li[1] = [11,22,33,44]
    print(li)

    输出结果为:

    [1, 120, 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]
    [1, [11, 22, 33, 44], 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]

    注:列表元素,可以被修改

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    del li[1]
    print(li)

    输出结果为:[1, 9, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]

    (5)切片的方式修改和删除

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    li[1:3] = [120,90]
    print(li)

    输出结果为:[1, 120, 90, 'age', ['王强', ['19', 10], '王思骐'], 'alex', True]

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    del li[2:6]
    print(li)

    输出结果为:[1, 12, True]

    (6)in 操作

    li = [1, 12, 9, "age", ["王强", ["19", 10], "王思骐"], "alex", True]
    v1 = "王思骐" in li
    print(v1)
    v2 = "age" in li
    print(v2)

    输出结果为:False;True(必须是列表中的元素及以逗号为分割的整体in操作才会显示true)

    (7)转换

    a.字符串转换列表:li = list("asdfasdfasdf"),相当于内部使用for循环

    s = "qwerdf"
    new_li = list(s)
    print(new_li)

    输出结果为:['q', 'w', 'e', 'r', 'd', 'f']

    b.列表转换成字符串

    当列表元素既有数字又有字符串时: 用for循环一个一个处理

    li = [11,22,33,"123","alex"]
    s = ""
    for i in li:
        s = s + str(i)
    print(s)

    输出结果为:112233123alex

    当列表元素只有字符串时:直接使用字符串join方法

    li = ["123","alex"]
    v = "".join(li)
    print(v)

    输出结果为:123alex

  • 相关阅读:
    Python 中的 __str__ 与 __repr__ 到底有什么差别
    02 LeetCode---链表相加
    01 LeetCode---两数之和
    python 数据结构一 之 线性表
    来自C++的"Const式"傲娇
    string 与 char 字符串区别-1
    超级有爱的并查集入门
    多项式求解
    竞码编程-蓝桥杯模拟赛4-D题
    树的直径-蓝桥杯大臣的旅费
  • 原文地址:https://www.cnblogs.com/quyao/p/9553284.html
Copyright © 2011-2022 走看看