Chinaunix首页 | 论坛 | 博客
  • 博客访问: 86501
  • 博文数量: 26
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 250
  • 用 户 组: 普通用户
  • 注册时间: 2015-08-12 22:31
文章分类

全部博文(26)

文章存档

2016年(26)

我的朋友

分类: Python/Ruby

2016-11-07 21:51:08

列表

一,列表是有序的,可以对它进行增删改查


name_list.append(   追加
name_list.count( 统计某个元素出现的次数
name_list.extend( 扩展列表
name_list.index( 统计某个元素首次出现的下标
name_list.insert( 插入新的元素,可以接下标
name_list.pop( 删除某个元素,默认删除最后一个,直接接下标,删除指定元素
name_list.remove( 删除某个元素,后接元素的名称
name_list.reverse( 反转列表的顺序,倒序
name_list.sort( 重新排序

注意列表、字典、set的删除都可使用:    del  list[n]   这种格式


实例:name_list.extend
1,重要用途
>>> info
['1', '2', '3']
>>> name_list
['jim', 'lily', 'lucy', 'sky', 'tom', 'tom']
>>> name_list.extend(info)
>>> name_list
['jim', 'lily', 'lucy', 'sky', 'tom', 'tom', '1', '2', '3']

2,
>>> name_list.extend('123')
>>> name_list
['jim', 'lily', 'lucy', 'sky', 'tom', 'tom', '1', '2', '3']


二,切片
切片顾头不顾尾,注意双冒号

实例:
>>> name
[0, 'sky', 1, 'tom', 2, 3, 2, 'sko', 4]
>>> name[1::2]              #中间间隔一个切片,可以用来取奇偶数
['sky', 'tom', 3, 'sko']
>>> name[1:2]
['sky']
>>> name[1::3]               #中国间隔两个切片
['sky', 2, 'sko']
>>> name = [0, 'sky', 1, 'tom', 2, 3, 2, 'sko', 4]
>>> print (name[1::3])      #其中的3是步数,每隔3步取一次
['sky', 2, 'sko']



练习:如何找出列表中所有“2”的位置

方法一:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. #_*_ coding:utf-8 _*_
  3. name = ['tom','lily','lucy',1,2,3,4,5,6,'sky','uncle',1,2,53,54,5,6,2,'oldboy',2]
  4. first_pos= 0
  5. for i in range(name.count(2)):
  6.   new_list = name[first_pos:]
  7.   next_pos = new_list.index(2) + 1
  8.   print first_pos + new_list.index(2)
  9.   first_pos += next_pos


方法二:

点击(此处)折叠或打开

  1. #!/usr/bin/env python
  2. #_*_ coding:utf-8 _*_
  3. num = [1,5,2,3,5,4,5,6,7,8,5,10,12]
  4. pos = 0
  5. for i in range(num.count(5)):
  6.   if pos == 0:
  7.     pos = num.index(5)
  8.   else:
  9.     pos = num.index(5,pos+1)
  10.   print pos



阅读(1118) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~