码迷,mamicode.com
首页 > 编程语言 > 详细

Python 字符串、列表、元组、索引、切片

时间:2014-11-07 19:16:46      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:列表、元组、切片、索引、逆序、insert、append、del、remove、pop、sort、reverse、count

一、简要概述

what is list?
1、用[ 和 ]括起来,用逗号间隔每个数据项
2、数据项可是同类型数据也可以是不同类型数据(数字、字符串、浮点型)
3、list里面可以有list作为其数据项
4、数据项对应的位置为索引编号(index)。默认第一个是0
5、有序的数据集合

what is string?
1、用单引号、双引号、三引号引起来。
2、字符串是一个常量不可被修改,它的主要用途就是读其元素。

what is tuple?
1、元组和字符串均是不可被修改的。但是访问的方式都是一样的。
2、定义格式不一样:列表是用"[]",字符串是用"""",元组是用"()"
3、用途也不一样:元组用于多值传回(多值带入),列表用于数据的存储(因其可以被修改)

what is range?
1、range是python中的一个内建函数,它的返回值是一个list;默认步长是1。

what is index?
1、Python中所有的序列元素都是有编号的,从0开始递增,元素可以通过编号访问。
2、序列的第一个元素的索引始终是0.如果索引是负数呢?Python会从右边,也就是最后一个元素开始计数,最后一个元素的索引始终是-1
3、字符串字面值(其他序列字面值也如此)能直接使用索引,而不需要一个变量引用他们
4、如果一个函数返回一个序列,也可以对返回结果进行索引操作
5、索引的范围{ -len(str)到len(str)-1 }为闭区间

二、脚本案例测试

#!/usr/bin/env python
#coding:utf-8

#定义字符串变量和查找
print "#定义字符串变量"
str = "www.hytyi.com"
print "str->pos-c->:",str.index("c")
print "str->",str,"\n"

#定义空列表的方法
print "#定义空列表的方法"
list01 = []
print "list01->long:",len(list01)
print "list01->type:",type(list01)

list02 = list("www.hytyi.com")
print "list02->:",list02

#将字符串转换成列表
print "#将字符串转换成列表"
list03 = list(str)
print "list03->:",list03


list04 = list03
print "list04->:",list04
list04.reverse()
print ‘list04<->‘,list04
print "list04 long ->:",len(list04)


#将列表list04以逆序的方式赋值给list05的方式有以下4种:
print "#将列表list04以倒叙的方式赋值给list05的方式有以下几种:"
list05 = []
i = 0
while i < len(list04):
        list05.insert(0,list04[i])
        i = i + 1
else:
        print "list05->1->:",list05

list05 = []
i = len(list04)-1
while i >= 0:
        list05.append(list04[i])
        i = i - 1
else:
        print "list05->2->:",list05

list05 = list04[::-1]
print "list05->2->:",list05

list04.reverse()
list05 = list04
print "list05->3->:",list05


#列表中的正方向切片
print "#列表中的正方向切片,若只想要hytyi.其它的都不要,该如何实现呢?"
‘‘‘
list = [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
index =  0    1    2    3    4    5    6    7    8    9    10   11   12
‘‘‘
print "list02-long->",len(list02)

list06 = list02[4:10:1]
print "list06->1->:",list06

list06 = list02[-9:-3:1]
print "list06->2->:",list06

list06 = list02[4:-3:1]
print "list06->3->:",list06

list06 = list02[-3:-9:-1]
print "list06->4->No->No:",list06


#将一维列表的所有元组合并为一个字符串
print "#将一维列表的所有元组合并为一个字符串"
‘‘‘
list02 = [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
str2 = "www.hytyi.com"
‘‘‘

print list02
import itertools
str2 = "".join(itertools.chain(list02))
print "str2->Now->:",str2


#如果列表中有重复的数据项,则将其删除,只保留第一个。
print "#如果列表中有重复的数据项,则将其删除,只保留第一个。"
#方法[1]
list08 = list02 * 2
print  """count list08("y")->:""",list08.count("y")
print  "list08->:",list08

s = list08.count("y")-1
i = 0
while i < s:
        list08.remove(‘y‘)
        i += 1

print list08.count("y")
print list08

#方法[2]
list09 = []
list10 = list02 * 2

col1 = len(list10)
print "count list10->:",col1

col3 = list10.index("y")
col2 = 0
i = 0
while i < col1:
        if i == col3 or list10[i] != "y":
                list09.append(list10[i])
        col2 = col2 + 1
        i += 1
else:
        print "count list09->:",len(list09)
        print "list09->",list09

#方法[3]
list11 = list02 * 2
list12 = []
i = col4 = 0
while i < col1:
        if list11[i] == "y":
                if col4 < 1:
                        list12.append(list11[i])
                col4 += 1
        else:
                list12.append(list11[i])
        i += 1

print "count list012->:",len(list12)
print "list12->",list12

三、测试结果展示

root@python 20141107]# python list.py 
#定义字符串变量
str->pos-c->: 10
str-> www.hytyi.com 

#定义空列表的方法
list01->long: 0
list01->type: <type ‘list‘>
list02->: [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
#将字符串转换成列表
list03->: [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
list04->: [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
list04<-> [‘m‘, ‘o‘, ‘c‘, ‘.‘, ‘i‘, ‘y‘, ‘t‘, ‘y‘, ‘h‘, ‘.‘, ‘w‘, ‘w‘, ‘w‘]
list04 long ->: 13
#将列表list04以倒叙的方式赋值给list05的方式有以下几种:
list05->1->: [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
list05->2->: [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
list05->2->: [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
list05->3->: [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
#列表中的正方向切片,若只想要hytyi.其它的都不要,该如何实现呢?
list02-long-> 13
list06->1->: [‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘]
list06->2->: [‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘]
list06->3->: [‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘]
list06->4->No->No: [‘c‘, ‘.‘, ‘i‘, ‘y‘, ‘t‘, ‘y‘]
#将一维列表的所有元组合并为一个字符串
[‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
str2->Now->: www.hytyi.com
#如果列表中有重复的数据项,则将其删除,只保留第一个。
count list08("y")->: 4
list08->: [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘, ‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
1
[‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘t‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘, ‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘t‘, ‘y‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
count list10->: 26
count list09->: 23
list09-> [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘, ‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘t‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]
count list012->: 23
list12-> [‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘y‘, ‘t‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘, ‘w‘, ‘w‘, ‘w‘, ‘.‘, ‘h‘, ‘t‘, ‘i‘, ‘.‘, ‘c‘, ‘o‘, ‘m‘]


本文出自 “郑彦生” 博客,请务必保留此出处http://467754239.blog.51cto.com/4878013/1574116

Python 字符串、列表、元组、索引、切片

标签:列表、元组、切片、索引、逆序、insert、append、del、remove、pop、sort、reverse、count

原文地址:http://467754239.blog.51cto.com/4878013/1574116

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!