世外桃源

非淡泊无以明志————非宁静无以致远——

4 python列表list的操作

*—*—list列表的操作—*—*

一、列表
1.1列表是python的基础数据类型之一,列表的具体表现为以中括号[]括起来,其中的每个元素以逗号隔开,并且它比C语言中的数组强大的地方是可以存放各种数据类型
例:lis = [1,'abc',True,{'name':'天才','age':18},(1,2,'蠢材'),['a','b','c']]

1.2列表相比字符串不仅可以存放各种数据类型,还可以存储大量的数据。列表是有序的,可以进行索引、切片、便于取值。
例如: lis = [1,'abc',True,{'name':'天才','age':18},(1,2,'蠢材'),['a','b','c']]
print(lis[0])
print(lis[1])
print(lis[1:4])
print(lis[::2])
***输出结果***:
1
abc
['abc', True, {'name': '天才', 'age': 18}]
[1, True, (1, 2, '蠢材')]

1.3列表的常用操作(增删改查)

  1.3.1 列表的增(append,extend,insert)
  append —— 通过append可以向列表的尾部追加单个元素(多个会异常)
  例:name = ['小明','小李','小张']
  name.append('小王') #往列表中追加一个元素'小王'
   print(name)
   ***输出结果***:
   ['小明', '小李', '小张', '小王']

  extend —— 通过extend可以将另一个集合中的元素逐一添加到列表中(迭代添加)
  例: lis1 = ['a','b']
  lis2 = ['c','d']
   lis1.extend(lis2)
   print(lis1)
   ***输出结果***:
   ['a','b','c','d']

  insert —— insert(index, object) 在指定位置index前插入元素object
  例:a = [0,1,3,4]
   a.insert(2,2) #在下标为2的索引前插入一个元素2
   print(a)
   ***输出结果***:
   [0,1,2,3,4]

  1.3.2 列表的删(pop, remove, clear, del)
  pop —— 两种用法,第一种默认删除最后一个元素,第二种按索引删除
  例: 默认删除末尾元素
   a = [1,2,3,4]
   a1 = a.pop()
   print(a) #打印通过pop方法删除后的列表
   print(a1) #打印删除的元素
   ***输出结果***:
   [1, 2, 3]
   4

  按索引删除:
  b = [1,2,3,4]
  b1 = b.pop(1) #删除下标为1的元素,此时b = [1,3,4]
  b2 = b.pop(2) # 删除下标为2的元素,此时b = [1,3]
  print(b) #[1,3]
  print(b1) #[2]
  print(b2) #[4]
  ***输出结果***:
  [1, 3]
  2
  4

  remove —— 删除列表中匹配对象的第一个元素。无匹配元素时产生异常,返回None。
  c = ['大写的人','小写的人','大人','小人']
  c.remove('小人')
  print(c)
  c.remove('小人')
  print(c)
  ***输出结果***:
  ['大写的人', '小写的人', '大人']
  ValueError: list.remove(x): x not in list 异常,列表中无此元素

  clear —— 清空列表
  d = [1,1,1,1,1,2,2,2,2]
  d.clear()
  print(d)
  ***输出结果***:
  []

  del —— 在内存级别中删除
  按索引删除:
  e = ['a','b','c','d']
  del e[1]
  print(e)
  ***输出结果***:
  ['a', 'c', 'd']
  
  按切片删除:
  f = ['哈哈哈','呵呵呵','嘻嘻嘻','咿呀咿呀']
  del f[:2]
  print(f)
  ***输出结果***:
  ['嘻嘻嘻', '咿呀咿呀']

  1.3.3 列表的改
  改有2种方法,第1种根据下标索引找到元素去改,第2种使用切片去改
  例:根据索引的改
  lis = [1,2,3,4,5]
  lis[1] = '改' #将下标为1的元素更改为字符串'改'
  print(lis)
  ***输出结果***:
  [1,'改',3,4,5]

  根据切片去改:
  lis1 = ['a','b','c','d','e']
  lis1[1:3] = '哈哈哈' #迭代添加
  print(lis1)
  lis1[1:3] = ['666','777']
  print(lis1)
  ***输出结果***:
  ['a', '哈', '哈', '哈', 'd', 'e']
  ['a', '666', '777', '哈', 'd', 'e']

  1.3.4 列表的查
  for 循环,列表是可迭代对象,所以可以使用for循环进行查询
  例:
  s = ['a','b','c']
  for i in s: #遍历s中的元素
   if i == 'a': #若s中的元素 = 'a'
   print('存在')
   else:
   print('不存在')
其他操作:
sort —— 升序排序,()中加reverse = True则按倒序排序
count —— 查询元素在列表中出现的次数
index —— 根据元素查索引,不存在则报错
in(存在),如果存在那么结果为true,否则为false
not in(不存在),如果不存在那么结果为true,否则false

列表的嵌套:
lis = [1,'tiancai',[2,'a',[3,'c'],'b']

range —— range可以帮助我们获取()中的数据
# range
for i in range(10): # 从0开始. 到10结束
    print(i)

for i in range(3, 7):   # 从3 开始. 打印到7结束. 不能到7
    print(i)

for i in range(3, 10, 2):  # 从3 到 10 每2个取一个
    print(i)

for i in range(10, -10, -1):  #从10 开始到-10结束. 倒着数
    print(i)

# 求1-2+3-4...+99-100=?
sum = 0
for i in range(1, 101):
    if i % 2 == 0:
        sum = sum - i
    else:
        sum = sum + i
print(sum)

 

 

posted on 2018-08-21 15:14  蛛丝_马迹  阅读(277)  评论(2编辑  收藏  举报

导航