py02_06:列表

Python3 列表

列表的表现形式为:中括号[]


name = ['yeyu','lucy','xinxin']
ex = ['筱田步美','希关','有坂深雪']


# 列表的增删改查
# 1.增加有三种方法
name.append('筱田')
print(name) # 增加到最后

name.extend(ex) # 用列表扩展另一个列表
print(name)

name.insert(4,'*氏家庭') # 根据索引添加
print(name)

# 删除有两种方法
name.remove('*氏家庭') # 知道他的值,直接取出
print(name)

name.pop(0) # 根据索引删除,如果不添加索引,刚默认最后一个
print(name)

del name[1] #根据索引,直接删除。也可以直接删除整个列表
print(name)

# 改
name[0] = '我爱霞' # 直接根据索引 = 'value' 值修改
print(name)

# 查询
print(name[0]) # 直接根据索引查询
print(name[-1]) # 索引倒序

切片:分片的标志符是冒号(:),如果我们想要获得一个列表的拷贝,最好还是用分片
a = [1,2,3]
b = a[:] # 这样,我们就相当于复制了a的列表
利用分片获取数据,分片的规则是顾头不顾尾。
a[0:2] # 这样我们只获得0和1的索引
我们还可以根据反向索引获得数据。比如-1,则代表最后一个,-2代表倒数第二个




print('分割线'.center(50,'-'))
# 列表的分片,分片是用冒号做分片符号。


# 列表的常用方法
print(name.index('筱田')) # 查询值的索引,没有则会报错
print(name.count('我爱霞')) # 返回查询值的个数
name.reverse() # 把列表翻转
print(name)
name.sort() # 把列表排序
print(name)
name.clear() # 清空列表,使之为空列表
 
 

name.copy()方法
copy(),直接用为浅复制,意思只复制了第一行,如果列表里有嵌套列表,嵌套列表里的内容与原来的形成软链接,随着原来的数据修改而改变(举例说明如下)
  name = ['原数据1',['old','ooo'],'老数据']
  copy_name = name.copy() # 浅复制name
  
name[0] = '新数据'
  name[1][0] = 'new' # 修改原数据

  此时都是修改的name的数据,但因为第一层数据是复制,第二层数据有软链接,所以导致嵌套里的数据会改变复制后的数据。
  所以:copy_name = ['原数据1',['new','ooo'],'老数据'] # 因为列表里的列表,是独立的内存指针,所以导致复制的时候只复制了一个内存地址,所以修改name的时候会把copy_name同时变化

  # 如果要完整的复制一份内容,我们就需要用到copy模块,而且是深复制
  import copy
  new = copy.copy(name) #浅复制
  new = copy.deepcopy(name) #深复制


  列表的循环
    for i in name:
      print(i)

    根据索引循环
    for i in range(name.lenth):
      print(name.i)
  
   or i in range(name.index):
      print(name.i)
  
   为什么多些一举说,索引循环呢,因为range是可以有步长的,如果你想根据索引的步长间隔获取数据,则可以写成下面
      for i in range(0,name.lenth,2):
        print(name.i)
    这样我们就可以循环双数索引的列表了

猜你喜欢

转载自www.cnblogs.com/yeyu1314/p/11969310.html
今日推荐