Python基础---容器列表List

数据容器List(有序集合)

List列表:

定义:List由一系列按特定顺序排列的元素组成;

     使用 [] 表示列表,其中元素使用" , "分隔

创建列表: list = [str1, str2, str3, ...]

1 list1 = ['a', 'b', 'c', 'd']
2 print(list1)
3 --->['a', 'b', 'c', 'd']

 序列操作:(用法等同于String)

1、相加:new_list = list1 +list2

2、相乘:new_list = list * num

3、成员检查:in   &   not in    

 

基本操作:

1、切片:访问List中的元素:

  获取单个元素:x = list[num]  num为元素在列表中的位置

  获取多个元素:x = list[star : end]  参数为起止区间,结果不包含end位元素

  如果进行复制,可使用 [:]

 

  如果进行倒数排序,可使用[:: -1]

 

1 list1 = ['a', 'b', 'c', 'd']
2 print(list1[2])
3 --->c
4 print(list1[0:2])
5 --->['a', 'b']

2、修改元素:即重新赋值:

  list[num] = str

1 list1 = ['a', 'b', 'c', 'd']
2 list1[1] = 'abc'
3 print(list1)
4 --->['a', 'abc', 'c', 'd']

3、删除元素:

   del list[num]   删除指定位置的元素,删除的元素不能再以任何方式使用

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 del list1[3]
3 print(list1)
4 --->['a', 'b', 'c', 'e', 'f', 'g']

   list.pop(num)    删除指定位置的元素,默认删除最后一位;

            删除的元素可以赋值给新的变量,继续使用

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 x = list1.pop()
3 print(list1)
4 --->['a', 'b', 'c', 'd', 'e', 'f']
5 
6 y = list1.pop(3)
7 print(list1)
8 --->['a', 'b', 'c', 'e', 'f']

 

   list.remove(str=)  根据值删除元素,删除的元素可以赋值给新的变量,继续使用

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 x = list1.remove('c')
3 print(list1)
4 --->['a', 'b', 'd', 'e', 'f', 'g']

   list.clear()     将列表元素清空,得到一个空的列表

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 list1.clear()
3 print(list1)
4 --->[]

 4、添加元素:

  list.append(obj)     在列表末尾添加新元素obj

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 list1.append('ABC')
3 list1.append('HOME')
4 print(list1)
5 --->['a', 'b', 'c', 'd', 'e', 'f', 'g', 'ABC', 'HOME']

  list.insert(index, obj)   在指定位置插入新元素,index后的元素索引自动+1

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 list1.insert(0, 'ABC')
3 print(list1)
4 --->['ABC', 'a', 'b', 'c', 'd', 'e', 'f', 'g']

5、复制列表:

  list.copy()

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 list2 = list1.copy()
3 print(list2)
4 --->['a', 'b', 'c', 'd', 'e', 'f', 'g']

6、计算列表中某元素出现的个数:

  list.count(obj)

1 list1 = ['a', 'a', 'b', 'c', 'd', 'e', 'f', 'g']
2 print(list1.count('a'))
3 --->2

7、在列表末尾一次性增加另一个列表的多个值:

  list.extend(seq)  seq为元素列表

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 list2 = [1, 2, 3, 4, 5]
3 list1.extend(list2[0:3])
4 print(list1)
5 --->['a', 'b', 'c', 'd', 'e', 'f', 'g', 1, 2, 3]

8、获取某元素的索引值:

  list.index(obj)

1 list1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
2 print(list1.index('d'))
3 --->3

9、列表元素的排序:

  list.reverse() 永久改变;将列表元素反转,如果想改回来,再调用一次reverse()

1 list1 = ['a', 'b', 'd', 'e', 'c', 'f', 'g']
2 list1.reverse()
3 print(list1)
4 --->['g', 'f', 'c', 'e', 'd', 'b', 'a']

  list.sort(key=, reverse=) 永久改变;将列表元素排序,

                默认为升序,降序reverse=True

                key参数可以设置自定义排序法则

1 list1 = ['a', 'b', 'd', 'e', 'c', 'f', 'g']
2 list1.sort()
3 print(list1)
4 --->['a', 'b', 'c', 'd', 'e', 'f', 'g']

  sorted(list) 临时改变;返回一个新的列表

1 list1 = ['a', 'b', 'd', 'e', 'c', 'f', 'g']
2 print(sorted(list1), id(sorted(list1)))
3 print(list1, id(list1))
4 --->['a', 'b', 'c', 'd', 'e', 'f', 'g'] 88098536
5 --->['a', 'b', 'd', 'e', 'c', 'f', 'g'] 88820712

 

10、列表长度

  len(list)

 

操作列表:

1、遍历列表:

  for i in list

1 list1 = ['a', 'b', 'd', 'e', 'c', 'f', 'g']
2 for i in list1:
3     print(i)

2、列表推导式:用于创建新列表

  list2 = [n for n in list1 if 判断条件]

1 list1 = [1, 2, 3, 4, 5, 6]
2 list2 = [n * 3 for n in list1 if n % 2 == 1]
3 print(list2)
4 --->[3, 9, 15]

 

  

 

转载于:https://www.cnblogs.com/lambs/p/8468735.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值