列表和元组

2018-08-28  本文已影响0人  HML2500930031

列表:(利用栈这种数据结构存储)

1. 凡是整数、浮点数、字符串、对象都可以一同装入列表中【】,且用逗号隔开。

如,创建混合列表:mix=[1,'a',3.14,[1,2]]    

       空列表:zero=[]

2. 列表的索引:

1) 列表也可以像字符串一样用【】索引

如,x=[1,2,3]

x[1]则为2

负索引表示从最后开始往前数,-1代表列表的最后一个元素,如,x[-1]为3

2) 字符串以及序列面量,可直接对其操作索引,如,‘hello’[3]为l,  input('year=')[2]为对输入的字符串的第3个位置操作

注:input('year=')是显示year= 再人为输入值

3. 列表的创造

可使用【::】三个参数:一个为起始数,第二个为终止数,第三个为步长

如,number=【1,4,1】

则number为1,2,3,4

也可以用函数list创造列表

如,list(‘hello’)则为【‘h’,'e','l','l','o'】

4. 对列表的操作

1) 获取列表中的元素组成新的列表

方法1:如,number【0,10,1】

number[::4]为从前到后每隔3个取出一个元素,得到【1,5,9】

方法2:如,number【1:3】为【0,1,2】

                    number【:3】为

2)序列相加、乘法:

+可以将两个相同类型的拼接,对列表也是如此,一般而言不可以拼接不同类型的。

n * 作用于列表是将列表中的元素重复n遍。

3)列表的长度、最大值、最小值

如,number【1,2,3】

长度:len(number)最大值:max(number)最小值:min(number)

4)对列表删除

case1:删除已知列表中元素的名称时用remove(1)//1表一个参数,且删除一个元素

如,member=【'a','b','c'】

member.remove('b')  ------则member为【'a','c'】

case2: 删除已知位置在列表中的元素时用的del     //del 时语句不用加()

如,del member[2]

方法3: 用pop()删除元素并返回该元素

pop()表取出列表最后一个元素,并返回取出的值

如,member.pop()-------输出‘c’,此时member为【'a','b'】

pop(2)表取出列表第二的位置,并输出该元素

如,member.pop(2)------同上

5)向列表添加元素

case1: 用append(1)  //与remove对立,为加一个元素

             如,lis[1,2,3]

             lis.append(4)-------此时lis为【1,2,3,4】

case2: 向列表添加(扩展)个列表用extend(1)//1表示一个列表

            如,a=[1,2,3]

                   b=[4,5,6]

                   a.extend(b)------a为[1,2,3,4,5,6]

case3: 按指定位置插入元素用  insert(2,)  // 第一个参数表示在列表当中的位置,第二个参数表示要加入的元素。

6)拷贝与赋变量

如, list6=【1,2,3】

        list7=list6【:】//拷贝一个list6给list7

        list8=list6 // 贴上另一个标签

当list6改变时,list8也改变,因指向同一个列表,而list7不改变单独指向副本

7)查找制定值在列表中的位置 用index(3: :) // 第一个参数为索引值,第二和第三为索引范围

如, mem.index('a',1,5)  // 指的是在第一到第五的位置查找‘a’的位置

8)将列表元素变换位置

case1:反转顺序 用reverse()

            如,x=[1,2,3]

            x.reverse()---------则此时x为【3,2,1】

case2:用制定的方式对列表排序 用sort() //无参数即默认情况下为从小到大排,若为三个参数sort(func,key,reverse),reverse默认为false

元组----不可修改元素本身的列表

1. 与列表的区别:

1)元素不可修改;2)创建时为()(且一定有逗号),而不是【】;3)逗号是区分数值还是元组,如,temp(0,)为元组

2. 对元组的更新

可用+拼接

如,temp=('a','b' 'c')

temp=temp[0:1]+('d',)+temp[2:]-----------则temp为('a','d','b','c')

也可用+删除元素,但不可改变元素

*重复操作也可用于元组

如,8*(8,)------------(8,8,8,8,8,8,8,8)

关系运算符与逻辑运算符与in与not in 都可用于元组

上一篇下一篇

猜你喜欢

热点阅读