python的数据类型——列表

Python027

python的数据类型——列表,第1张

python中列表是最常见的一种数据类型,下面我们来看看列表的基本用法吧

列表的表示: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 ,达到了连续跳多层循环的目的。