一天快速入门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变量中然后打印新的,元组变量赋值是合法的
本博客为博主的学习笔记,不作任何商业用途。