列表和元组

列表

列表是一种可变的序列,有很多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]))

元组除了创建和访问元素之外,也没有太多其他的操作,可以参照其他类型的序列来操作。
要注意的是,元组的分片还是元组,就像列表的分片还是列表一样。

元组的意义
元组是不可替代的,
元组可以映射(和集合的元素)中当做键来使用——而列表则不行
元组作为很多内建函数和方法的返回值存在,也就是说你必须对元组进行处理,只要不尝试修改元组,那么,处理元组在绝大多数情况下就是把它们当做列表来进行操作。
一般来说,列表可能更能满足对序列的所有需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值