列表和元组
列表
列表是一种可变的序列,有很多python规定的方法。
创建
使用 list() 函数创建一个列表
a = list('hello world')
b = 'hello world'
print(a)
print(b)
数据操作
1.元素赋值
可以通过标记对特定位置的元素赋值
a = list('hello world')
a[5] = ','
print(a)
2.删除元素
使用del()函数直接删除
a = list('hello world')
del(a[5])
print(a)
3.分片赋值
a = list('hate')
print(a)
a[2:] = list('ha')
print(a)
技巧:
还可以通过分片删除元素
num = [1,2,3,4,5]
num[2:4]=[]
print(num)
方法操作
1.append
append方法用于在列表末尾追加新的对象:
a = list('hell')
a.append('o')
print(a)
2.count
count用于统计某个元素在列表中出现的次数
a = list('hello world')
print(a.count('o'))
3.extend
方法可以在列表的末尾一次性追加另一个序列中的多个值。
a = list('hell')
a.append('o')
print(a)
a.extend('world')
print(a)
4.index
index方法用于从列表中找出某个值第一个匹配项的索引位置。
word = ['I','love','studying','python']
print(word.index('python'))
5.insert
用于将对象插入到列表中:
word = ['I','love','studying','python']
word.insert(2,'and')
print(word)
word.insert(3,'enjoy')
print(word)
6.pop
用于移除列表中的一个元素(默认是最后一个),并返回该元素的值:
word = ['I','love','studying','python']
print(word.pop())
print(word)
7.remove
用于移除列表中某个值的第一个匹配项
word = ['I','love','studying','python','and','java']
print(word.remove('and'))
print(word)
注意remove方法没有返回值,所以打印的应该是none
8.reverse
方法将列表中的元素反向存放
word = ['牛','奶']
print(word.reverse())
print(word)
它同样是一个没有返回值的方法
9.sort
用于在原位置对列表进行排序
a = [4,6,8,3,1,5,2,7]
a.sort()
print(a)
sort方法没有返回值
技巧:如果只是需要一个a排序好的副本,而不能改变a的顺序,可以采用先赋值再排序或sorted函数。
a = [4,6,8,3,1,5,2,7]
b = a
b.sort()
c = sorted(a)
print(b)
print(c)
元组
创建
元组与列表一样,也是一种序列,唯一的不同是元组不能修改
a = 1,2,3
b = (4,5,6)
c = ()
d = 7,
print(a,b,c,d)
元组的创建非常简单:
可以直接在元素中间用逗号隔开,大部分需要用圆括号括起来,空元组用一个没有元素的括号表示,一个值的元组直接在后面加上逗号
方法操作
tuple函数
tuple函数的功能与list函数基本上是一样的,以一个序列作为参数并把它转换为元组,如果参数就是元组,那么该参数就会被原样返回:
print(tuple('abc'))
print(tuple([1,2,3]))
元组除了创建和访问元素之外,也没有太多其他的操作,可以参照其他类型的序列来操作。
要注意的是,元组的分片还是元组,就像列表的分片还是列表一样。
元组的意义
元组是不可替代的,
元组可以映射(和集合的元素)中当做键来使用——而列表则不行
元组作为很多内建函数和方法的返回值存在,也就是说你必须对元组进行处理,只要不尝试修改元组,那么,处理元组在绝大多数情况下就是把它们当做列表来进行操作。
一般来说,列表可能更能满足对序列的所有需求。
还没有评论,来说两句吧...