Python中的列表
程序员文章站
2024-01-07 08:38:04
...
在Python中列表类似于数组
对列表同样可以使用字符串的切片,规则一致
ls = [1,'1a','huruji']
ls[1:]
# ['1a', 'huruji']
有两种方法使得列表反转,一种和字符串一致,另一种使用reversed()方法,这个方法返回一个可迭代的对象
ls[::-1]
# ['huruji', '1a',1]
list(reversed(ls))
# ['huruji', '1a',1]
list(reversed('abcd'))
# ['d','c','b','a']
reversed是一个内建函数,list中有一个reverse()方法同样是用来反转列表的
list.reverse()
list
# ['huruji', '1a',1]
使用len()方法返回列表的长度
len(ls)
# 3
使用+操作符连接两个列表
b = ['xie']
ls + b
# [1,'1a','huruji','xie']
使用*操作符重复列表
ls*2
# [1,'1a','huruji',1,'1a','huruji']
使用in操作符来判断一个元素是否在列表中
'1a' in ls
# True
使用min()、max()方法,当列表中全为数字时,返回相应数学上的最小、最大值,否则,返回ASCII值的最小,最大值对应的元素
max(ls)
# huruji
min(ls)
# 1
c = [1,2,3,43,23]
min(c)
# 1
max(c)
# 43
d = ['a','A',12,'13']
min(d)
# 12
max(d)
# a
cmp()方法比较方式同上,一个一个元素比较,相同则比较下一个,不同则返回,返回结果同字符串中的cmp()方法
d = ['a','A',12,'13']
e = ['b']
cmp(d,e)
# -1
向列表中追加元素,使用append()方法或者使用a[len(a):]=[x],不同之处在于前者只能一次添加一个元素,后者可以添加多个元素
num = [1,2,3,4]
num.append(5)
num
# [1,2,3,4,5]
num[len(num):] = [6,7,8]
num
# [1,2,3,4,5,6,7,8]
当然使用extend()方法就实现了上面中的第二种方法
num = [1,2,3,4]
num2 = [5,6,7]
num.extend(num2)
num
# [1,2,3,4,5,6,7]
使用count()方法获取某个元素在列表中出现过的次数
num = [1,1,2,3,3,3,5]
num.count(1)
# 2
num.count('a')
# 0
num.count(5)
# 1
使用index()方法获取某个元素在列表中首次出现的位置的索引
num.index(1)
# 0
num.index(3)
# 3
使用insert()方法向列表中插入元素,这个方法有两个参数,第一个是要插入的位置的前一个的索引值,所以插入之后,新元素的索引也就是这个值,当这个值大于列表的最大索引值的时候,就是与append()一样的追加操作了,第二个参数是要插入的元素
num = [1,2,3,4]
num.insert(2,5)
num
# [1,2,5,3,4]
使用pop()方法弹出一个元素,当无参数时,弹出最后一个元素,当有参数时,参数为索引值,则弹出相应的索引值对应的参数
num.pop()
# 4
使用remove()方法删除一个元素,如果这个元素不在列表中则报错,如果列表中有多个这个元素,则删除第一个
num = [1,2,3,4]
num.remove(2)
num
# [1,3,4]
num.extend([2,2,2])
num.remove(2)
num
# [1,3,4,2,2]
先判断一个元素是否在列表中,再删除
if 2 in num:
num.remove(2)
else:
print '2 is not in num'
使用sort()方法对列表重新排序
a = [6,5,7,1,2,3,4]
a.sort()
a
# [1,2,3,4,5,6,7]