zoukankan      html  css  js  c++  java
  • 一天快速入门Python语法基础之操作列表

    一、列表简介

    列表由一系列按特定顺序排列的元素组成。

    二、访问列表元素

    和大多数编程语言一样列表元素索引是从0开始的.
    python为访问最后一个元素提供了一个特殊的语法,将索引指定为-1,访问倒数第二个指定为-2
    languages=['java','python2','c','c++','perl','js']
    print(languages[0])
    print(languages[3])

    <<java
    <<c++

    三、修改

    languages=['java','python2','c','c++','perl','js']
    print(languages)
    languages[1]='python3'
    print(languages)


     <<['java', 'python2', 'c', 'c++', 'perl', 'js']
     <<['java', 'python3', 'c', 'c++', 'perl', 'js']

    四、添加

    #在尾部添加
    languages=['ruby']
    print(languages)
    languages.append('python')
    languages.append('java')
    languages.append('c++')
    print(languages)
    
    <<['ruby']
    <<['ruby', 'python', 'java', 'c++']
    
    #在列表中插入元素
    languages=['java','python','c''c++']
    print(languages)
    languages.insert(0,'js')#在索引0处插入js,这种操作使列表中每个元素右移一个位置
    print(languages)
    
    <<['java', 'python', 'cc++']
    <<['js', 'java', 'python', 'cc++']

    五、删除

    #使用del语句删除元素
    languages=['java','python2','c','c++','perl','js']
    print(languages)
    del languages[0] #删除索引0位置的元素
    print(languages)
    
    #使用方法pop()删除元素
    #pop()可删除列表末尾的元素,并让你能接着使用它,列表就像一个栈,删除列表末尾元素相当于弹出栈顶元素
    languages=['java','python2','c','c++','perl','js']
    poped_laguages=languages.pop()
    print(languages)
    print(poped_laguages)
    
    #弹出列表中任意位置的元素
    languages=['java','python2','c','c++','perl','js']
    poped_first=languages.pop(0)
    print(languages)
    print(poped_first)
    #使用del和pop的区别,del删除后不在使用,pop从列表中删除后还能继续使用这个元素
    
    #根据值删除元素,不知道要删除的值再列表什么位置,如果只知道要删除元素的值,可用remove()方法
    languages=['java','python2','c','c++','perl','js']
    print(languages)
    languages.remove('java')
    print(languages)
    #remove只删除第一个指定的值,若要删除的值再列表中多次出现,就需循环判断是否删除了所有这样的值

    六、使用sort()方法对列表进行永久性排序

    #按字母顺序排序
    languages=['java','python2','c','c++','perl','js']
    languages.sort()
    print(languages)
    #按字母反向排序
    languages.sort(reverse=True)
    print(languages)
    #sort()永久性修改了列表元素的顺序,无法恢复到原来的排列顺序

    七、使用函数sorted()对列表进行临时排序

    #要保留列表元素原来的排列顺序,同时以特定的顺序呈现他们,可使用函数sorted()
    languages=['java','python2','c','c++','perl','js']
    print(sorted(languages))
    print(languages)
    #如要反向排序,也可以使用传递参数reverse=True
    print(sorted(languages,reverse=True))

    八、倒着打印列表

    # reverse()方法,不是按字母顺序反序排列,而是反转列表元素的排列顺序
    languages=['java','python2','c','c++','perl','js']
    languages.reverse()
    print(languages)
    #reverse()方法永久性修改列表元素排序顺序,但可随时恢复,只需再次调用reverse()方法

    九、确定列表长度,函数len()

    languages=['java','python','c','c++','perl','js']
    print(len(languages))

    十、操作列表

    #一、遍历列表
    languages=['java','python','c','c++','perl','js']
    for language in languages:
        print(language)
    #language是指列表中的一个元素,languages是列表。对列表中的每一个元素都将执行循环指定的步骤
    
    #2.避免缩进错误
    #对于位于for语句后面且属于循环组成部分的代码行,一定要缩进
    languages=['java','python','c','c++','perl','js']
    for language in languages:
        print("I Like language:"+language.title())#有缩进,执行for循环对每个元素进行输出
    print("The Best languages:"+language.title()) #没缩进,只会输出language的终值js
    #不必要的缩进:对于不属于前一行代码的代码无需缩进,对于应在for循环结束后才执行的代码无需缩进
    #避免遗漏for语句末尾 : (冒号),它告诉下一行是循环的第一行
    
    #二、创建数值列表
    #1.使用函数range(),用来让你轻松获得一系列数字
    for value in range(1,5):
        print(value)
    #在这个例子中range()只是打印数字1~4,因为Python从你指定的第一个数值1开始,在到达你指定的第二个值5后停止,输出不包含第二个值
    
    #2.使用range()创建数字列表
    #可用list()函数和range函数,将range()作为list()的参数,将输出一个数字列表
    numbers=list(range(1,8))
    print(numbers)
    #使用range()时还可指定步长
    even_numbers=list(range(1,11,2)) #指定1~11,从1开始数,每次不断加2,直到超过终值11
    print(even_numbers)
    
    #创建一个列表,其中包含1~10个整数的平方
    squares=[ ]
    for value in range(1,11):
        square=value**2
        squares.append(square)
    print(squares)
    #首先我们创建了一个空列表,接下来使用函数range()让Python遍历1到10的值,再循环中,计算当前值的平方,
    #并将结果存储到变量square中,然后将新计算到的平方值添加到列表squares末尾,最后循环结束打印列表squares
    
    #3.对数字列表执行简单的统计计算
    digits=[1,2,3,4,5,6,7,8,9]
    print(min(digits))
    print(max(digits))
    print(sum(digits))
    
    #4.列表解析
    #前面介绍的生成列表的方式包含三四行代码,而列表解析让你只需编写一行代码就能生成这样的列表
    #举个之前生成平方数列表 的例子
    squares=[value**2 for value in range(1,11)]
    print(squares)
    
    #四、使用列表的一部分
    #之前学了如何操作单个列表元素,这里将介绍怎么处理列表的部分元素
    #1.切片:处理列表的部分元素
    #要创建切片,可指定要使用的第一个元素和最后一个元素的索引
    languages=['java','python','c','c++','perl','js']
    print(languages[1:3])#输出 1 2索引的二个元素
    
    #如果没有指定第一个索引,则自动从列表开头开始
    print(languages[:3]) #输出0 1 2索引的三个元素
    
    #要让切片终值于列表末尾,也可使用类似语法
    print(languages[3:]) #输出包括索引3及其之后的所有元素
    
    #2.遍历切片
    #如果要遍历列表的部分元素,可在for循环中使用切片。
    languages=['java','python','c','c++','perl','js']
    for language in languages[:3]:
        print(language.title())  #没有遍历整个列表,而是只遍历列表中的前三个元素
    #可用于web分页
    #3.复制列表
    #要复制整个列表,可创建一个包含整个列表的切片,方法是省略起始索引和终值索引[ : ]
    languages=['java','python','c','c++','perl','js']
    copy_languages=languages[:]
    print(languages)
    print(copy_languages)
    #为核实我们确有两个列表,下来在每个列表中各添加一个元素
    languages.append('swift')
    copy_languages.append('R')
    print(languages)
    print(copy_languages)
    #复制后会得到两个列表, 而对于copy_languages=languages 这段代码只是简单的赋值
    
    #五、元组
    #列表适合用于动态的数据集合,列表可动态的修改,对于网站的用户列表显示至关重要
    #而元组则是不可变的的列表
    #1.定义元组
    #元组使用的是圆括号而不是方括号,定义元组后,可用索引访问其元素
    groups=(12,33,44,55)
    print(groups[0])
    print(groups[2])
    #如果企图修改元组值,会导致报错,如groups[0]=22
    
    #2.遍历元组中的所有值
    groups=(12,33,44,55)
    for group in groups:
        print(group)
    #返回元组中每一个元素
    
    #3.修改元组变量
    #虽然不能修改元组中的值,但可以给存储元组的变量赋值
    groups=(12,33,44,55)
    for group in groups:
        print(group)
    groups=(1,2,3,4)
    for group in groups:
        print(group)
    #首先定义了个元组并将结果打印,接下来将一个新元组存到了groups变量中然后打印新的,元组变量赋值是合法的

    参考:Python编程:从入门到实践》,作者Eric Matthes,译者袁国忠,由人民邮电出版社于2016年7月出版

    本博客为博主的学习笔记,不作任何商业用途。
  • 相关阅读:
    定义一个动态的二维数组?
    学习STL map, STL set之数据结构基础
    CMM
    详细解说STL string
    仔细选择你的容器
    C++字符串类string简析
    流氓软件及反流氓软件的技术分析
    标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
    C++资料下载
    unix系统操作命令大全
  • 原文地址:https://www.cnblogs.com/guo7533/p/8580235.html
Copyright © 2011-2022 走看看