python 学习列表

#-*- encoding: utf-8 -*-
'''
Created on 2013-1-7

@author: 
'''

#列表是一组任意类型的值,按照一定顺序组合而成的。组成列表的值
#叫做元素(Elements)。每一个元素被标识一个索引,第一个索引也是0。列
#表中的元素可以是任意类型,甚至是列表类型,也就是说列表可以嵌套。
a=1
b=10
arr = [a,b,"nsn","test"]
print arr
#修改变量的值并不影响列表的值
a=20
print arr
#索引也可以是一个负数,那么列表的最后一个元素的索引是-1,倒数
#第二个的索引是-2,依此类推:
print arr[0],arr[-1] #1,test
#包含连续整数的列表是很常见的,因此Python提供一种简单的方法创建他们
print range(1,5) #1,2,3,4
#3个参数的range函数,产生一个在数学上成为等差数列的列表。这个
#例子产生一个从1到10,步长为2的列表
print range(1,10,2)#1,3,5,7,9
#append在列表的尾部追加元素,参数是插入元素的值:
arr.append("tieto")
print arr
#insert
arr.insert(2, "hha")
print arr
#方法extend合并两个列表为一个:
arr.extend(range(1,5))
print arr
#方法index取得元素的索引值:
print arr.index("nsn")
#方法remove从列表中删除第一次出现的值
arr.remove(1)
print arr
#方法pop删除最后一个值,然后返回这个值:
print arr.pop()
#函数len返回列表的长度
print len(arr)
#in也可以测试字符串中是否包含某个字符:
print "nsn" in arr #True
print "n" in arr #false
#列表和for循环
for i in arr:
    print i
#加号操作符"+"将两个列表连接成一个列表
print arr + range(1,5)  
#列表片段
print arr[1:5] 
#只要在“[]”内包含冒号“:”,所取的片断依然是列表,否则,就是元素的原始类型 
print type(arr[:]) #list
print type(arr[1:]) #list
print type(arr[-1]) #int
#和字符串不一样,列表的元素是可更改的,这意味着我们可以修改、添加
#或删除列表的元素值。
arr[0] = "compary"
print arr
#赋空
arr[1:3] = []
print arr

#关键字del删除列表中的元素
del arr[1]
print arr
del arr[0:2]
print arr
#创建一个字符串,但是只创建一个列表
a = "abc"
b = "abc"
print id(a), id(b) #值是相同的
arr1 = range(1,5)
arr2 = range(1,5)
print id(arr1), id(arr2) #值不相同
#因为变量指向内存中的值,如果我们将一个变量赋值给另一个变量,那末这两个变量指向同一个对象。
arr3=arr2
#如果要修改列表,但是要保留原来列表的一份拷贝,就需要列表自我复
#制,这过程叫做克隆。克隆的结果是产生两个值一样,但却有不同标识符
#的列表。克隆的方法是利用列表的片断操作符:
arr4 = arr2[:] #克隆列表
arr4[0] = "nsn";
print arr4 
print arr2 #1,2,3,4
#传递列表参数实际上是传递列表的别名,而不是列表的拷贝。
#如果防止列表变量在函数中被更改,我们可以利用前面讲的克隆列
def delelement(list):
    temp = list[:]
    del temp[0]
    print temp
delelement(arr4); #2,3,4
print arr4    #nsn,2,3,4
#列表嵌套
#嵌套列表可以代表矩阵
list1 = ["this" ,"is", "qiantao", range(1,5)]
print list1
print len(list1) #4
print list1[0] #this
print list1[3][1]  #2
#一个是将字符串分割成单词列表。空格默认的是单词的边界
import string
str1 = "this is test"
print string.split(str1)#['this', 'is', 'test']
#函数jion的功能和split正好相反,它是将列表连接成字符串。
str2 = string.join(string.split(str1))
print str2 #this is test
#列表映射
list1 = ["this", "is", "test"]
[i + "s" for i in list1]
print list1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值