zoukankan      html  css  js  c++  java
  • Python基础知识:列表

    1、pop(i)删除列表任意位置元素,并继续使用它,如果括号为空,默认删除末尾

    #pop()函数
    guests=['Liming','Liuhan','Hanjieming']
    for guest in guests:
        print("I want to invite "+guest+" to have dinner with me.")
    break_man=guests.pop(1)
    print(break_man.title()+" can't keep the appointment.")
    print(guests)

    2、insert(位置,值)列表中按位置和值添加元素

    #insert(位置,值)
    new_guest="Hutian"
    guests.insert(1,new_guest)
    for guest in guests:
        print("I want to invite "+guest+" to have dinner with me.")
        print("
    I find a bigger table.
    ")
    guests.append("Xiaxue")  #append()从末尾插入列表
    print(guests)

    3、del 删除列表中的任意元素

    del guests[0]
    print(guests)

    4、切片:输出列表的一部分

    #输出列表的一部分
    students=['xiaoming','liuxing','huyu','huangniu','qiaogu']
    print(students[:3])#前三个
    print(students[3:])#从第四个到最后
    print(students[-3:])#后三个
    print(students[1:3])#第二个到第三个
    #for循环,输出前三名学生的名字
    print("
    The first three students is:")
    for student in students[:3]:
        print(student.title())

    5、sort()永久性排序;sorted()临时性排序

    week_scores=['52','48','88','75','90']
    print(sorted(week_scores))
    week_scores.sort(reverse=True)#倒序排列
    print(week_scores)
    week_scores.sort(reverse=False)#升序排列
    print(week_scores)

    6、reverse()倒着打印列表,只是翻转列表,并未排序

    week_scores.reverse()
    print(week_scores)

    7、[:]使用切片复制整个列表

    month_scores=week_scores[:]
    print(month_scores)

    8、len()确定列表长度,len可以求任何东西的长度

    print(len(week_scores))

    9、元组(tuple)内的元素不可修改,只能重新赋值

    #元组
    menu=('noodles','rice','steak','coke','bread')
    for food in menu:
        print(food)
    new_menu=('noodles','rice','steak','coke','milk')
    for new_food in new_menu:
        print("
    ",new_food)

    10、list(range(1,5))创建数值列表

           list(range(1,11,2))按指定步长创建数值列表,输出前十个奇数列表

    #创建一个1-5的数值列表
    numbers=range(1,5)
    print(list(numbers))
    #按指定步长创建数值列表
    even_numbers=list(range(1,11,2))
    print(even_numbers)

    11、(**)两个星号表示乘方运算

    #乘方运算
    squares=[]
    for value in range(1,11):
        squares.append(value**2)
    print(squares)
    print(min(squares))#求最小值
    print(max(squares))#求最大值
    print(sum(squares))#求数值总和

    12、列表解析:将for循环和创建新元素的代码合并为一行,并自动添加到列表

    #将前10个数的平方依次加入列表
    squares=[value**2 for value in range(1,11)]
    print(squares)

    13、count()统计个数和index()返回索引,判断列表中是否存在一个值,并替换它

    #count()统计个数和index()索引
    number = [10,22,33,10]
    print(10 in number)
    if 10 in number:
        num_of_ten=number.count(10)#返回列表中10的个数
        print("[%s] 10 is/are in number."%num_of_ten)#判断列表中有几个指定的值
    #替换列表中的所有10
    for i in range(num_of_ten):
        ten_index=number.index(10)#返回索引
        number[ten_index]=10000
    print(number)

    14、copy列表,修改原表和新表的值,互不影响;

            列表中嵌套的列表只是一个地址,无论修改原列表中还是复制列表中的嵌套列表,嵌套的列表中的

    值都会被改变。如果想改变嵌套列表中的值时,两个列表互不影响,就要使用函数deepcopy()

    #调出copy库
    import copy
    number=[10,22,56,[33,10,45],99,34]
    number2=number.copy()  #普通copy
    number[1]=200
    number2[1]=500
    number[3][0]='22'
    number2[3][1]='11'
    print(number)
    print(number2)
    #深度copy,完全复制嵌套列表中的数值,两个列表互不影响
    number3=copy.deepcopy(number)
    number[3][0]='aaa'
    number3[3][1]='jjjj'
    print(number)
    print(number3)

    15、extend()扩展列表

    #将括号内的列表加到第一个列表末尾
    num=[1,2]
    num2=[1,2,3]
    num.extend(num2)
    print(num)

    16、enumerate()以枚举的方式打印列表的下标和元素

    #枚举,返回索引和值
    a = ['alex','alice','james']
    for index,i in enumerate(a):
        print(index,i)

    17、删除列表中的重复值

    #第一种方法,集合set(),顺序会变
    numbers = [11,22,6,13,6,11,58,22]
    numbers2 = list(set(numbers) )
    print(numbers2)
    #第二种集合法,按照原来列表的索引重新排序
    numbers2 = list(set(numbers) )
    numbers2.sort(key=numbers.index)
    print(numbers2)
    #第三种方法保留原来的顺序,从前往后删
    numbers = [11,22,6,13,6,11,58,22]
    for i in numbers:
        if numbers.count(i) > 1:
            numbers.remove(i)
    print(numbers)

    18、练习题:删除列表中重复3次及以上的数值

    list=[1,1,1,2,2,2,3,3,4,4]
    for i in list:
        if list.count(i)>2:
            list.remove(i)
    print(list)

    19、练习题:将一个列表中重复3次以下的数值插入到另一个列表中,且不能重复

    list=[1,1,1,2,2,2,3,3,4,4]
    list2=[]
    for i in list:
        if list.count(i) < 3:
            if i not in list2:
                list2.append(i)
    print(list2)

    20、练习题:for循环猜年龄

    #for循环练习
    age=26
    counter=0
    for i in range(10):
        print("--counter:",counter)
        if counter <3:
            guess_number=int(input("your guess number:"))
            if guess_number==age:
                print("Congretulations,you got it!")
                break
            elif guess_number>age:
                print("Think smaller.")
            else:
                print("Think bigger.")
        else:
            continue_confirm=input("do you want to try continue:")
            if continue_confirm=="y":
                counter=0
                continue
            else:
                break
        counter=counter+1
  • 相关阅读:
    MYSQL索引优化法则
    关于String对象到底占多少字节?
    类加载的时机
    HotSpot 虚拟机对象探秘
    JVM 内存结构
    Tomcat10-记录踩坑
    笔记 | 吴恩达新书《Machine Learning Yearning》
    图像分割论文 | DRN膨胀残差网络 | CVPR2017
    除了边缘场景,你还能在哪里使用K3s?
    基础指南:如何在K3s中配置Traefik?
  • 原文地址:https://www.cnblogs.com/charliedaifu/p/9928936.html
Copyright © 2011-2022 走看看