Python学习(列表)

1.列表下标:同样从0下标开始计数,列表中可以嵌套列表,如果下标为负数,则从后向前查找。

>>> name = ['Lee','Tony',['Jack','Rose'],'Bob']

>>> name[2]
['Jack', 'Rose']

>>> name[2][1]
'Rose'

>>> name[-1]
'Bob

'>>> name[-2]
['Jack', 'Rose']

我们可以用index来查找列表下标,如果列表中存在重复的值, 只会返回它第一次出现的那个下标。
>>> name.index('Lee')
0

2.切片:利用切片可以从列表中一次获取多个值,它是用冒号分隔的两个整数,从第一个整数开始,到第二个整数前一个位置结束,切片值为一个新的列表。为了方便,若第一个不写,则默认从下标0开始,第二个数不写则默认查找到列表最后一位结束。
>>> name = ['Lee','Tony','Jack','Rose','Bob']
>>> name[0:3]
['Lee', 'Tony', 'Jack']
>>> name[:3]
['Lee', 'Tony', 'Jack']
>>> name[3:]
['Rose', 'Bob']
>>> name[:]
['Lee', 'Tony', 'Jack', 'Rose', 'Bob']

3.列表长度:

>>> names = ['Lee','Tony','Jack','Rose','Bob']

>>> for i in range(len(names)):
    print(names[i])
Lee
Tony
Jack
Rose
Bob

4.更改列表的值:

>>> name = ['Lee','Tony','Jack','Rose','Bob']

>>> name[3] = 'Ava'
>>> name[:]
['Lee', 'Tony', 'Jack', 'Ava', 'Bob']

5.列表的连接和复制:

>>> name1 = ['Lee','Tony']
>>> name2 = ['Jack','Rose','Bob']
>>> name1 + name2
['Lee', 'Tony', 'Jack', 'Rose', 'Bob']
>>> name1 * 3
['Lee', 'Tony', 'Lee', 'Tony', 'Lee', 'Tony']

6.删除列表中的某个值:

>>> name = ['Jack','Rose','Bob']
>>> del name[1]

>>> name
['Jack', 'Bob']

7.in和not in操作符:

>>> names = ['Lee','Tony','Jack','Rose','Bob']
>>> 'Lee' in names
True
>>> 'Lee' not in names

8.多重赋值:赋值的变量数目和列表的长度必须相等。

>>> names = ['Lee','Tony']
>>> name1,name2 = names
>>> name1
'Lee'
>>> name2
'Tony'

9.用append()和insert()向列表中添加值:insert中第一个参数是插入的元素会出现的位置下标。

>>> names = ['Lee','Tony','Jack']
>>> names.append('Rose')
>>> names
['Lee', 'Tony', 'Jack', 'Rose']
>>> names.insert(2,'Bob')
>>> names
['Lee', 'Tony', 'Bob', 'Jack', 'Rose']

10.remove()移除列表中的值:可以与del方法对比使用。
>>> names.remove('Jack')
>>> names
['Lee', 'Tony']

还有pop(),也可以用来移除某个值。

>>> names.pop(1)
'Tony'
>>> names
['Lee']

11.用sort()方法排序:

>>> nums = [1,3,5,7,-2,-4]
>>> nums.sort()
>>> nums
[-4, -2, 1, 3, 5, 7]

默认是从小到大排序的,可以给sort加上排序条件:

>>> nums = [1,3,5,7,-2,-4]

>>> nums.sort(reverse = True)
>>> nums
[7, 5, 3, 1, -2, -4]

在排序时不同类型的元素是不能排序的,比如列表中有字符串和整数,系统将无法比较,此外对于字母的大小写 ,是根据ASCLL表的前后顺序排列的,如果你想正常排序,需要进行下大写或者小写的统一转化,当然,这并不会改变元素的值。

>>> spam = ['A', 'b', 'a', 'B']
>>> spam.sort(key = str.lower)
>>> spam
['A', 'a', 'b', 'B']

12.tuple()元组:元组与列表几乎一致,只是格式上有些差别,另外,元组不可被更改,就像字符串一样(字符串与列表也很相似,你可以用列表的一些方法来查找字符串中的元素)。

>>> person = ('Lee',25)
>>> person[0]
'Lee'

因为元组用()来表示,那么当元组只有一个元素的时候,比如person = ('Lee')这个表达,这时候就和字符串有了歧义,Python为了区分这两种表达,在元组后面加了一个逗号来区分它们。

>>> person = ('Lee',)

13.list()和tuple()函数间的类型转换:
>>> list(('Lee','Tony'))
['Lee', 'Tony']
>>> tuple(('Lee','Tony'))
('Lee', 'Tony')
>>> list('Lee')
['L', 'e', 'e']

14.使用copy()和deepcopy()函数来保存列表:

copy.copy()可以复制列表或字典(下一篇介绍)的可变值,可以当做又创建了一个引用地址列表。

>>> import copy
>>> name = ['Lee','Tony','Bob']
>>> names = copy.copy(name)
>>> names[2] = 'Jack'
>>> name
['Lee', 'Tony', 'Bob']
>>> names
['Lee', 'Tony', 'Jack']

copy.deepcopy()可以在复制列表或字典(下一篇介绍)的可变值创造新引用地址的同时,也保存原来列表的引用地址。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值