zoukankan      html  css  js  c++  java
  • 8 python列表

    list类,列表

    1、列表定义,及格式

    1、通过中括号定义一个list类对象
    2、逗号,分隔每个元素
    3、列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
    4、集合内,可以放置任何东西
    5、第一个索引是0,第二个索引是1,以此类推
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    # list # 类,列表
    # 通过list类创建对象li
    '''
    1、中括号定义一个list类对象
    2、逗号,分隔每个元素
    3、列表中的元素可以是 数字,字符串,列表,布尔值..所有的都能放进去
    4、集合内,可以放置任何东西
    '''
    li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

    list1[0] ; #取第一个元素

    list1[-1]         # 取最后一个元素

    list1[ : ] 或者 list1[ : len(list1)] # 取所有列表元素

    list1[0 : n]             # 从第0号取到n-1号元素
    ————————————————


    2、列表取值,及遍历

    ① 索引取值:第一个索引是0,第二个索引是1,以此类推

    ②切片取值

    ③for、while循环遍历 

    li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]
    
    # 取值:索引取值
    print(li[3])   # ['张五常', ['29', 91], '梅超风']
    print(li[3][1][0])  # 29
    print(li[0])   # 3
    # 切片,结果也是一个列表
    print(li[4:6])   # ['jason', True]
    print(li[4:-1])  # ['jason']
    
    
    # for循环,遍历
    # while循环,遍历
    for item in li:
        print(item)

    3、修改

    1、索引修改
    2、切片修改
    list[0] = 'D'               # 修改元素值
    li[1:3] = [88,99]                  # 切片修改
    list.append('E')             # 列表添加元素
    list.insert(0 , 'F')           # 在某处插入元素
    
    
    li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

    #
    修改 """ 1、索引修改 2、切片修改 """ # 1、索引修改 li[1] = "challenge" print(li) # [3, 'challenge', 'wuchang', ['张五常', ['29', 91], '梅超风'], 'jason', True] li[1] = [1,2,3] print(li) # [3, [1, 2, 3], 'wuchang', ['张五常', ['29', 91], '梅超风'], 'jason', True] # 2、切片修改 li[1:3] = [88,99] print(li) # [3, 88, 99, ['张五常', ['29', 91], '梅超风'], 'jason', True]

    4、删除

    1、del li[1]                                           索引删除    

    2、del li[1:3]                                         切片删除    

    3、 list.remove('1')           # 移除第一次出现的元素

    4、 list.pop()             # 移出元素,默认从最后移出,返回该元素值;括号中可加入元素索引值来移除

    
    
    li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

    #
    删除 """ 1、索引删除 2、切片删除 """ # 1、索引删除 del li[1] print(li) # 2、切片删除 del li[1:3]

    Python列表脚本操作符

    列表对+和*的操作符与字符串相似,+号用于组合列表,*号用于重复列表。

    Python表达式 结果 描述
    len([1,2,3]) 3 长度
    [1,2,3]+[4,5,6] [1,2,3,4,5,6] 组合
    ['Hi!'] * 4 ['Hi!', 'Hi!', 'Hi!', 'Hi!'] 重复
    3 in [1,2,3] True 元素是否存在于列表中

    for x in [1,2,3]:

        print x

    1 2 3 迭代

     

    Python列表函数&方法

    Python包含以下函数:

    序号 函数
    1

    cmp(list1, list2)

    比较两个列表的元素

    2

    len(list)

    列表元素个数

    3

    max(list)

    返回列表元素最大值

    4

    min(list)

    返回列表元素最小值

    5

    list(seq)

    将元组转换为列表

    Python包含以下方法:

    序号 方法
    1

    list.append(obj)

    在列表末尾添加新的对象

    2

    list.count(obj)

    统计某个元素在列表中出现的次数

    3

    list.extend(seq)

    在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)

     4  

    list.index(obj)

    从列表中找出某个值第一个匹配项的索引位置

    5

    list.insert(index, obj)

    将对象插入列表

    6

    list.pop([index=-1])

    移除列表中的一个元素(默认最后一个元素),并返回该元素的值

    7

    list.remove(obj)

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

    8

    list.reverse()

    反向列表中的元素

    9

    list.sort(cmp=None, key=None,reverse=False)

    对原列表进行排序

    5、判断列表存在某个元素

    
    
    li = [3,55,"wuchang",["张五常",["29",91],"梅超风"],"jason",True]

    #
    判断列表是否存在某个元素 v = True in li # True v = "a" in li # False print(v)


    6、列表与字符串互转

    # 类型转换
    a = "10086"
    print(int(a))
    i = 1024
    print(str(i))
    
    # 字符串是可迭代对象,可直接转换为list对象
    # 字符串转换列表
    s = "suijifdafljadffdkasf"
    new_li = list(s)
    print(new_li) # ['s', 'u', 'i', 'j', 'i', 'f', 'd', 'a', 'f', 'l', 'j', 'a', 'd', 'f', 'f', 'd', 'k', 'a', 's', 'f']
    
    # 列表转字符串
    # 仅将列表转换为字符串格式
    li = [2,4,6,"fjkd","1024"]
    print(str(li))  # '[2, 4, 6, 'fjkd', '1024']'
    # 非纯字符串元素列表,无法使用join
    # 需要自己写一个for循环处理:既有数字又有字符串
    s1 = ""
    for i in li:
        s1 += str(i)
    print(s1)
    
    # 非纯字符串元素列表,无法使用join
    # 需要自己写一个for循环处理:既有数字又有字符串
    li1 = [2,4,6,"fjkd","1024"]
    print("_".join(li1))  # TypeError: sequence item 0: expected str instance, int found
    
    # 非纯字符串元素列表,无法使用join
    li2 = [2,3,4]
    print("_".join(li2))  # TypeError: sequence item 0: expected str instance, int found
    
    # 列表中只有字符串元素,可以直接使用join方法,
    # 将列表转换为字符串
    li3 = ["a","b","c"]
    print("_".join(li3))  # a_b_c

    7、列表追加

    # 列表追加元素
    li = [1,2,3,4,5]
    ret = li.append(6)
    print(ret) # None  , append方法无返回值
    print(li)  # [1, 2, 3, 4, 5, 6]
    li.append("jason")
    print(li)  # [1, 2, 3, 4, 5, 6, 'jason']
    li.append([10010,10086])
    print(li)  # [1, 2, 3, 4, 5, 6, 'jason', [10010, 10086]]

    8、列表清空

    # 列表清空
    li.clear()
    print(li)  # []

    9、拷贝,copy浅拷贝

    # 拷贝、复制列表, copy浅拷贝
    li = [1,2,3,4]
    n_li = li.copy()
    print(n_li)    # [1, 2, 3, 4]

    10、统计元素出现次数

    # 统计元素出现次数
    li = [11,22,22,33,55,55,55,6]
    c = li.count(55)  # 统计列表中55的个数
    print(c)  # 3

    11、打平后追加,extend

    # 打平后追加 , extend
    # 将可迭代对象,打平后追加到列表
    # def extend(self, iterable)
    li = [1,2,3,4,5,6]
    # li.append(["jason","陈平"])  # [1, 2, 3, 4, 5, ['jason', '陈平']]
    li.extend(["jason","陈平"]) # [1, 2, 3, 4, 5, 6, 'jason', '陈平']
    print(li)
    
    # 对字符串进行列表extend追加操作
    li = [1,2,3,4,5,6]
    li.extend("王羲之")
    print(li)  # [1, 2, 3, 4, 5, 6, '王', '羲', '之']

    12、获取元素首次出现的索引位置

    # 获取元素首次出现的索引位置
    # def index(self, value, start=None, stop=None)
    li = [11,22,22,33,55,55,55,6]
    i = li.index(55)
    print(i)  # 4

    13、插入

    # 插入,指定位置插入元素
    # def insert(self, index, p_object)
    li = [1,2,3,4,5,6]
    li.insert(0,"a")
    print(li) # ['a', 1, 2, 3, 4, 5, 6]

    14、删除

    # 删除元素
    # 1、pop方法删除指定位置元素,并return该元素值
    # def pop(self, index=None)  , index默认值为-1,表示最后一个
    li = [1,2,3,4,5,6]
    v = li.pop()
    print(v)   # 6
    print(li)  # [1, 2, 3, 4, 5]
    
    li = [1,2,3,4,5,6]
    v = li.pop(1)
    print(v)   # 2
    print(li)  # [1, 3, 4, 5, 6]
    
    # 2、 remove 删除列表中指定值,左边优先
    # def remove(self, value) , 无返回值
    li = [1,2,3,4,5,6]
    rm = li.remove(3)
    print(rm)  # None
    print(li)  # [1, 2, 4, 5, 6]

    15、反转列表

    # 反转列表
    li22 = [1,2,3,4,5,6]
    li22.reverse()
    print(li22)  # [6, 5, 4, 3, 2, 1]

    16、排序方法

    # 排序sort
    # def sort(self, key=None, reverse=False)
    li = [2,1,6,3,2,8,4]
    li.sort()                # 升序   [1, 2, 2, 3, 4, 6, 8]
    # li.sort(reverse=True)  # 降序   [8, 6, 4, 3, 2, 2, 1]
    print(li)





  • 相关阅读:
    LeetCode15 3Sum
    LeetCode10 Regular Expression Matching
    LeetCode20 Valid Parentheses
    LeetCode21 Merge Two Sorted Lists
    LeetCode13 Roman to Integer
    LeetCode12 Integer to Roman
    LeetCode11 Container With Most Water
    LeetCode19 Remove Nth Node From End of List
    LeetCode14 Longest Common Prefix
    LeetCode9 Palindrome Number
  • 原文地址:https://www.cnblogs.com/LIAOBO/p/13352470.html
Copyright © 2011-2022 走看看