• python--列表list


    list是处理一组有序项目的数据结构,即你可以在一个列表中存储一个 序列 的项目

    列表中的项目应该包括在方括号中,这样Python就知道你是在指明一个列表。一旦你创建了一个列表,你可以添加、删除或是搜索列表中的项目。

    由于你可以增加或删除项目,我们说列表是 可变的 数据类型,即这种类型是可以被改变的。

    通用序列操作

    通用的序列操作包括:索引(indexing),分片(sliceing),加(adding),乘(multiplying)以及检查某个元素是否属于序列的成员。另还有计算序列长度,找出最大元素,最小函数的内建函数

    1. 索引

    序列中所有元素都有编号--从0开始递增。

    indexing = "HelloWelcomeToPython!"
    print (indexing[0])
    print (indexing[8])
    print (indexing[-1])

    注:使用负数索引,python会从右边开始计算。最后一个元素的位置编号是-1

    2. 分片

    使用分片操作来访问一定范围的元素,分片通过冒号相隔的两个索引来实现

    numbers = [1,2,2,3,4,5,66,777,8,222,10,101]
    print (numbers[3:6]) # 获取第4个到第6个元素
    print (numbers[-3:]) # 获取最好三个元素
    print (numbers[:3])  # 获取前三个元素
    
    print (numbers[0:10:2]) # 步长为2分片
    print (numbers[::4])    # 步长为4分片
    print (numbers[::-1])   # 从右到左提取元素

    序列相加

    a = [1,2,3,4,5]
    b = [6,7,8,9,10]
    print (a + b)

    注:列表不能与字符串相加。即两个相同类型的序列才能进行连接操作

    序列相乘

    用数字X乘以一个序列会生成一个新的序列。原序列会被重复X次

    X = "ILovePython~"
    print (X*10)
    XX = [111]
    print (XX*10)

    注:None 是python的内建值,意味着里面没有任何元素(空值)

    成员资格

    检查一个值是否在序列中,使用in运算符。条件为真,返回值为True,条件为假,返回值为False.

    numb = [12,34,54,232,111,3333]
    print (12 in numb)
    print (123 in numb)

    例子:登录帐号认证

    database =[ ["xiaohong","123456"],["xiaoming","111111"],["zhangsan","123344"],["lisi","121212"]]
    username = input("please input your name:")
    password = input("please your password:")
    if [username,password] in database:
        print ("welcome to login")
    else:
        print ("You do not have permission to log on")

    长度、最大值、最小值

    内建函数len、min、max 分别返回列表的长度、最小值、最大值

    lis = [1,22,333,4444,55555,666666,7777777,88888888]
    print (len(lis))
    print (min(lis))
    print (max(lis))

    列表的基本操作

    1. 改变列表(修改列表的元素,赋值实现)

    x = [1, 2, 3, 4, 5, 6 ,7, 8]
    print (x)
    x[3] = 444  # 将第四个元素修改为 444
    print (x)

    2. 删除元素 (使用del 语句)

    animals = ["Deer", "Tiger", "Monkey", "Dog", "Pig", "Snake"]
    print (animals)
    del animals[2] # 删除第三个元素
    print (animals)

    3. 分片赋值

    name = list("xieshengsen")
    print (name)
    name[8:] = list("SEN")  # 修改多个元素值,并分片显示
    print (name)

    4. append 用于在列表末尾追加新的对象

    fruits = ["peach", "pear", "banana", "watermelon"]
    print (fruits)
    fruits.append("orange") # 在水果列表末尾添上 "orange"
    print (fruits)

    5. count 统计某元素在列表中出现的次数

    numbers = [1 , 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]
    print ("1 出现次数:",numbers.count(1))
    print ("2 出现次数:",numbers.count(2))
    print ("3 出现次数:",numbers.count(3))
    print ("4 出现次数:",numbers.count(4))
    print ("5 出现次数:",numbers.count(5))
    print ("6 出现次数:",numbers.count(6))

    6. extend 在列表的末尾一次性添加另一个序列的多个值

    a = [1, 2, 3, 4, 5]
    b = [66, 77, 88, 99]
    a.extend(b)
    print (a)
    print (b)

    7. index 用于从列表中找出某个值第一个匹配项的索引位置

    Jobs = ["He", "said", "this", "would", "prevent", "companies", "from", "creating", "new", "jobs"]
    print (Jobs.index("this"))
    print (Jobs[2])

    8. insert 用于将对象插入到列表

    numbs = [1, 2 ,3, 4, 5, 6 ,7]
    print (numbs)
    numbs.insert(5, "four")
    print (numbs)

    9. pop 移除列表中一个元素(默认是最后一个)

    y = [1 ,2, 3, 4, 5, 6, 7, 8]
    y1 = y.pop()  # 默认移除最后一个函数
    print (y1)    #
    print (y)
    
    y2 = y.pop(1) # 移除第二个函数
    print (y2)
    print (y)

    10. remove 移除列表中某个值的第一个匹配项

    QAZ = ["qq", "ww", "ee", "rr", "aa", "ss"]
    QAZ.remove("ww")
    print (QAZ)
    注:remove 是一个没有返回值的原位置改变方法。修改列表后没有返回值,与pop方法相反。

    11. reverse 将列表中的元素反向存放

    A = [1, 2, 3, 4, 5]
    A.reverse()
    print (A)

    12. sort 用于将原位置的列表进行排序。

    num = [3 , 4, 2, 1, 7, 6, 9, 8]
    num.sort()
    print (num)
    
    letter = ["b", "d", "a", "c", "f", "e", "g"]
    letter.sort()
    print(letter)

    sort 方法有另外两个可选的参数:key 和 reverse.

    AAA = ["BB","DDDD","A","EEEEE","CCC"]
    AAA.sort(key=len)
    print (AAA)
    
    BBB = [3, 5, 10, 8, 1, 4, 7]
    BBB.sort(reverse=True)  # 当reverse=false 列表相反排列
    print(BBB)

    list 官方文档常用解析

    class list(object):
        """
        list() -> new empty list
        list(iterable) -> new list initialized from iterable's items
        """
        def append(self, p_object): # real signature unknown; restored from __doc__
            """ L.append(object) -- append object to end """
            pass
    
        def count(self, value): # real signature unknown; restored from __doc__
            """ L.count(value) -> integer -- return number of occurrences of value """
            return 0
    
        def extend(self, iterable): # real signature unknown; restored from __doc__
            """ L.extend(iterable) -- extend list by appending elements from the iterable """
            pass
    
        def index(self, value, start=None, stop=None): # real signature unknown; restored from __doc__
            """
            L.index(value, [start, [stop]]) -> integer -- return first index of value.
            Raises ValueError if the value is not present.
            """
            return 0
    
        def insert(self, index, p_object): # real signature unknown; restored from __doc__
            """ L.insert(index, object) -- insert object before index """
            pass
    
        def pop(self, index=None): # real signature unknown; restored from __doc__
            """
            L.pop([index]) -> item -- remove and return item at index (default last).
            Raises IndexError if list is empty or index is out of range.
            """
            pass
    
        def remove(self, value): # real signature unknown; restored from __doc__
            """
            L.remove(value) -- remove first occurrence of value.
            Raises ValueError if the value is not present.
            """
            pass
    
        def reverse(self): # real signature unknown; restored from __doc__
            """ L.reverse() -- reverse *IN PLACE* """
            pass
    
        def sort(self, cmp=None, key=None, reverse=False): # real signature unknown; restored from __doc__
            """
            L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
            cmp(x, y) -> -1, 0, 1
            """
            pass
  • 相关阅读:
    cookie和session的区别
    使用Flexible实现手淘H5页面的终端适配
    跟自己说::::
    前端稀奇古怪的问题!!!
    为什么我老是能碰见那些糟心的事?
    谈谈我的工作日常;
    毕业后,女生要到美国发展;
    工作常识总结
    git用法
    1.date对象
  • 原文地址:https://www.cnblogs.com/xieshengsen/p/6495136.html
Copyright © 2020-2023  润新知