自兴人工智能------------python入门基础(2)列表和元祖

时间:2020-12-11 20:01:29

一.通用序列操作:

列表中所有序列都可以进行特定的操作,包括索引(indexing).分片(slicing).序列相加(adding).乘法,成员资格,长度,最小值,最大值,下面会一一介绍这些操作法。

1.索引:序列是python中最基本的数据结构,序列中所有的序列都是有编号的,从0开始递推,可通过编号对序列的元素进行访问,并且支持正负索引。

>>>string=‘hello’           #自定义变量并赋值
>>>print string[0] #根据编号取元素
>>>print string[-1]

最后输出是下标为0的元素'h'与‘o’

2.分片:索引对单个元素进行访问,使用分片可以对一定范围内的元素进行访问(包前不包尾),分片通过冒号相隔的两个索引实现。在交互模式输入:

>>>number=[1,2,3,4,5,6,7,8]
>>>nub
=number[1:3] #索引为正数
>>>nub2
=numbwe[-3:-1] #索引为负数,小的索引放前面,从倒数开始取值
>>>nub3=number[:] #也可不输入索引,则取得整个数组
>>>nub4=number[0:7:2] #对于这种情况python为我们提供了另一个参数----步数,该参数是隐形设置的,也可理解默认步长为1>>>print nub
[2,3]>>>print nub2
[6,7]
>>>print nub3
[1,2,3,4,5,6,7,8]
>>>print nub4
[1,3,5,7]

3.序列相加:使用加好

>>>a=[1,2,3]
>>>b=[4,5,6]
>>>print a+b
[
1,2,3,4,5,6]
>>>a='hello'
>>>b=' word'
>>>c='!'
'hello word!'

4.乘法:

>>>a=[5]*5
>>>print a
[
5,5,5,5,5]
>>>b='None'*3
>>>print b
'NoneNoneNone'

5.成员资格:为检测一个值是否存在与序列中,用‘in’运算符,这种运算符称为布尔运算符,返回的真值叫布尔值。

>>>a='hello word'
>>>print 'l' in a
true
>>>b=['zhangsan','lisi','wangwu']
>>>print 'lisi' in b
true
>>>c=[1,2,3,4,5]
print
6 in c
false

6.长度,最大,最小值:

>>>a=[100,500,300,900,1]
>>>print len(a)
5
>>>print max(a)
900
>>>print min(b)
1
>>>print min(5,2,-7,-10)
-10

二.列表(方法)

1.append():在列表的末尾添加新元素

语法: list.append(obj) 

2.count():计算某个元素在列表中出现的次数

语法: list.count(obj) 

3.extend():用于在列表末尾追加另一个序列中的多个值(用新列表扩展原来的列表)。

语法: list.extend(seq) list代表列表,seq代表元素列表

4.index():用于找出某个值与列表第一个匹配的索引位置

语法: list.index(seq) 

5.insert():用于将对象插入列表

语法: list.insertindex,obj) index代表对象obj需要插入的索引位置,obj代表插入列表中的对象

6.pop():用于移除列表中的一个元素(默认最后一个元素),并且返回该元素的值

语法: list.pop(obj=list[-1]) 

7.remove():用于移除列表中的某一个值的第一个匹配值

语法: list.remove(obj) 

8.reverse():用于反向列表中的元素

语法: list.reverse() 

9.sort():用于对原文列表进行排序

语法: list.sort(funce) funce为可选参数

10.clear():用于清空列表。

语法: list.clear() 

11.copy():用于复制列表,类似于a[:]

语法: list.copy() 

12.高级排序:如果希望元素按特定方式排序(不是sort方法默认的按升序排列元素),就可以自定义比较方便

sort方法有两个可选参数,即key和reverse,要使用他们就要通过名字指定,我们称之为关键字参数。

>>>field=['study','python','is','happy']
>>>filed.sort(key=len) #按字符串由短到长排序
>>>filed
>>>filed.sort(key=len,reverse=true) #按字符串由长到短排序,传递两个参数
>>>filed
[
'python','study','happy','is']
[
'is','happy','study','python']
>>>num=[5,8,1,3,6]
>>>num.sort(reverse=True) #排序后逆序
>>>num
[
8,6,5,3,1]

三.元组

python中的元组与列表相似,不同之处在于元组不能修改(前面多次提到的字符串也是不能被修改的)。创建元组的方法很简单:如果使用逗号分隔一些值就会自动创建元组,如:

>>>1,2,3
(
1,2,3)
>>>'hello','word'
(
'hello','word')

还可创建空元组:

>>>()
()
>>>(1,2,3)
(
1,2,3)
>>>(1,)
(1,)

1.tuple函数:tuple函数的功能和list函数基本一样,都是以一个序列作为参数,并把它转换成元组,如果参数是元组,参数就会被原样返回,如:

>>>tuple(['Hello',‘Word’])
'Hello',‘Word’)
>>>tuple('hello')
(
'h','e','l','l','o')
>>>tuple(('Hello',‘Word’))
(
'Hello',‘Word’)

2.元组的基本操作:

1)访问元组:可以使用下标索引访问元组中的值

2)修改元组:元组中的数不可以被修改,但可以对元组进行连接组合,使用‘+’进行连接

3)删除元组:元组中的数不予许被删除,但可以只用del语句删除整个元组

4)元组索引,截取:因为元组也是一个序列,所以可以访问元组中指定位置的元素也可以截取索引中的一段元素

3.元组内置函数:

1)len(tuple)用于计算元组个数

2)max(tuple)用于计算元组中的最大值

3)min(tuple)用于计算元组中的最小值

 4)tuple(seq)用于将列表转换成元组

因为元组不可变所以代码更安全。如果可能,能使用元组代替列表就尽量使用元组。如:

>>>t=('a','b',['A','B'])
>>>t[2][0]='X'
>>>t[2][1]='Y'
>>>t
(
'a','b',['X','Y'])

此处使用了嵌套列表,一个列表包含另一个列表,也可以称为二维数组。