列表的表示:list=[ ] 用中括号表示 或者list()
列表的作用:存储多个数据的数据类型
列表可以存储多种数据类型,可以存储任何类型的数据
列表的操作
获取列表长度len()
获取某个元素可以使用索引,索引同字符串,从头开始就是0开始,从末尾开始就是-1
列表索引后得到的数据类型就是该元素本身的类型
切片后获取的数据还是列表
列表是可变类型:可以增加,修改和删除
列表的增加
1、列表的添加:列表最后添加一个元素 append
2、在指定位置添加索引:insert
3、同时添加多个元素:extend(相当于将两个列表合并)
列表的删除
1、删除指定的内容 remove(当列表中含有多个相同内容的元素,默认删除第一个)
2、删除指定的索引 pop
列表的修改
1、通过索引来修改
说完列表的几种操作,下面我们来看看这些操作打印出来的结果是什么:
none是一种数据类型,表示什么都没有,append得到的结果为none,remove得到的结果也是none.pop得到的结果是删除的那个元素
array = [0,1,2,3,4,5] ;
print len(array) 6;
同样,要获取一字符串的长度,也是用这个len函数,包括其他跟长度有关的,都是用这个函数。
L1=len(list1) #列表list1的长度
list2=list(set(list1)) #可以用set,直接去掉重复的元素
[456, 'abc']print "First list length : ",
len(list1)print "Second list length : ", len(list2)
扩展资料:
Python 是一门有条理的和强大的面向对象的程序设计语言,类似于Perl, Ruby, Scheme, Java。
自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。
以下实例展示了 len()函数的使用方法:
#!/usr/bin/pythonlist1,
list2 = [123, 'xyz', 'zara']
参考资料:Python-百度百科
至此,我们已经把python最基本的数据结构讲的差不多了
不了解这个你可能永远不会成为python大佬(3)
不了解这个你可能永远不会成为python大佬(4)
从这节开始,你就可以写一个完整的程序结构,而不是一些零碎的小片段啦!
这节我们开始讲:
if条件语句 | for循环 | while循环 | 跳出和终止循环
[赞][赞][赞][赞][赞][赞]
01
if条件语句
顾名思义,if是“如果”的意思,它常用来判断程序在什么情况下需要做什么事,python里的条件语句形如:
1. 如果如果a成立,则执行b
if 条件a :
b
2. 如果a成立,则执行b,否则(else)执行c
if 条件a :
b
else:
c
3.如果a成立,则执行b,否则如果c成立,则执行d,如果都不成立,执行e
if 条件a :
b
elif 条件c :
d
else:
e
上文中的 仅代表4个空格缩进,如果是在notebook里写, 冒号":" 回车后会自动缩进(python程序结构的划分就是依据 严格的缩进 ,if、for等语句的缩进必须注意)
条件语句可以多种多样,像下面这样:
a=3
b= 5
if a== 3 and b== 4 :
print( 'and用法' )
elif a== 3 or b== 4 :
print( 'or用法' )
else :
print( '比大小' )
a and b表示必须两个同时成立,a or b则只需要至少一个成立即可。
输出结果:
or 用法
小知识:短路效应
a and b中,a如果为 假 ,则python默认不执行b语句,由定义直接判定为 假
a or b中,a如果为 真 ,则默认不执行b语句,直接判定为 真 ,这就是著名的 短路效应
02
for、while循环
循环 是让一个语句 重复多次 ,为了提高程序效率。 for循环 形如:
for 变量 in 序列:
语句
可以依次循环列表中每个值,如:
for i in [ 'a' , 'b' , 'c' , 'd' ]:
print(i)
输出结果:
a b c d
上面的循环还可以写成另一种形式:
list_1=['a' , 'b' , 'c' , 'd' ]
for i in range(len(list_1)):
print(list_1[i])
输出结果:
a b c d
第二种方法虽然看起来麻烦些,但实际工作中其实用的更多。
range()函数
上面程序里出现了 range() 函数,这里简单讲一下:
其中 len() 函数是 获取列表的长度 , range() 函数是一个 生成序列数 的函数。基本形式为 range(x,y,l) range(10) 代表一个 0~9 的序列, range(0,10) 与 range(10) 相同,默认步长为1,如下:
list_1=[x for x in range( 10 )] #0~9,省略起始数字,左闭右开
list_2=[x for x in range( 0 , 10 )] #0~9,起始数字为0,左闭右开
list_3=[x for x in range( 0 , 10 , 2 )] #0~9,步长为2取,左闭右开
print(list_1)print(list_2)print(list_3)
输出结果:
[0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
[ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ]
[ 0 , 2 , 4 , 6 , 8 ]
上面也是一种用 for循环生成列表 的快捷方式。
实际工作里,如果想在n个不同序列中同时循环n个量,可以像这样:
for i, n, c in zip([ 0 , 1 ], [ 'bad' , 'good' ], [ 'green' , 'red' ]):
print(i,n,c)
输出结果:
0 bad green
1 good red
其中, zip() 是一个 “打包”函数 ,将[0,1], ['bad','good'], ['green','red']变为
[(0,'bad','green'),(1,'good','red')],然后i、n、c分别进行循环。
( ps:我经常用这个方式绘图,可以一次性绘制多个参数,有奇效 )
while 意为当...成立时执行...,循环形如:
while 条件 :
语句
简单例子:
i=0
while (i< 5 ) :
print(i)
i=i+ 1
上面程序就是让i每次循环中变化,直到不满足i<5时跳出循环。
for 和 while 选择哪个一般来说都行, while 更侧重 明确有中断条件 的情况, for 更侧重于 有确定长度或是循环已知的列表 ,但也可以在结构里设置中断,总的来说, for的适用面更广泛 。
03
break与continue
余下的篇幅简单讲下循环中的中断标志符: break 和 continue
break 很简单,遇到break 直接跳出当前循环 ,这个循环就废了,不再进行
continue 则是 跳过本轮的循环,后面循环继续 。
简单的例子展示一下区别:
list_1=['a' , 'b' , 'c' , 'd' ]
for i in range(len(list_1)):
if (list_1[i]== 'c' ):
break
print(list_1[i])
输出结果:
a
b
换成continue:
for i in range(len(list_1)):
if (list_1[i]== 'c' ):
continue
print(list_1[i])
输出结果:
a
b
d
区别显而易见了。
这时候就很多人要问了,如果我想满足某个条件就 连续 跳出好几层循环,该咋办?如果直接用break,会出现下面这样:
for i in range( 10 ):
for j in range( 10 ):
if (j== 3 ):
break
print( 'j中断位置:' ,j)
print( 'i中断位置:' ,i)
输出结果:
j中断位置:3
i中断位置: 9
显然break只能跳出内层循环,外部的循环仍然完整的进行了。
我们引入 break_flag标志位 来解决这个问题:
for i in range( 10 ):
break_flag = False #跳出整个循环的标志
for j in range( 10 ):
if (j== 3 ):
break_flag = True
break
if (break_flag):
break #跳出外层循环
print( 'j中断位置:' ,j)
print( 'i中断位置:' ,i)
输出结果:
j中断位置:3
i中断位置: 0
这里,内层 break 前先将 break_flag 置为 True ,跳出内层后 if(break_flag ) 判定成立,再次执行外层的 break ,达到了连续跳多层循环的目的。