Python学习(三) 列表和元组

  1. 序列是Python中最基本的一种数据结构,序列上的每一个元素都会指定一个数字(或称之为索引),以0开头类推。
  2. 在Python的6个序列中,列表和元祖是最常见的。
  3. 序列都可以进行的操作包括 : 索引,切片 , 加 , 乘 , 检查成员。
  4. 除此之外,序列都可以进行确定序列长度,确定最大元素和最小元素的方法。
  5. Python中的元素都是任意的(数字,字符串,子列表,子元祖,字典, 布尔值 等)都可以,只要用逗号分隔开就行。

列表常规写法展示 :

li1 = ["jdk" , 31 , "dhufe" ]
li2 = [["dew",23] , 23 , "fuhe"]
li3 = [("few", 34 , "fefe") , "fef"]

访问列表的方法 :

    1. 通过索引的方法进行访问。

print(li1[0] , li2[1])
name = li[1]

    2. 通过切片的方式进行访问。

print(li[0:1])
for it in li[:2]   ####开头没有指明,默认从开头开始
    print(it)
for it in li[1:]   ####  末尾没有指明,默认访问到结尾
    print(it)

更新列表的方法 :

  1. 可以直接对列表里面的值进行修改。
  2. 可以采用append()在结尾处添加元素。

li2[0] = "dew"
li1[2] = 213
li2.append("defde")
li1.append(32)
li3.append(["dewfd",32])

删除列表元素的方法 : 

  1. 通过 del 删除 可采用 del+索引(或者切片)的方法
  2. 用方法 remove()进行删除

用方法 pop() 进行移除

del li1[0] 
del li2[0:1]   ###   采用 del 方法进行删除
li1.remove(31)   ####   采用 remove() 的方法进行移除,参数为列表中的目标元素
delPoint = li1.pop(2)  ####   采用 pop() 的方法进行移除,参数为列表的索引,移除的元素返还回来,注意其中的参数不能加入切片

Python列表脚本操作符

使用 “+” 和 “*” 等符号 :

Python表达式结果描述
len([1,2,3])3计算列表长度
[1,2,3] + [4,5,6][1,2,3,4,5,6]组合
["Hi"] * 2["Hi" , "Hi"]重复
3 in [1,2,3]True元素是否存在于表中
for x in [1,2,3] : print x1 2 3迭代

索引可以取负数,表示从0号开始从后往前取 

Python 表达式结果描述

li = [1 , 2, 3, 4]

print(li[-2])

3以1为0,往从后开始倒数

切片的使用(注意切片括号左边代表闭区间,右边代表开区间)

Python 表达式结果描述
li = [1,2,3,4,5,6]
li[2:4]3,4从索引2到索引3
li[:3]0,1,2,3没有指定索引开头,默认从头(0号索引)开始引入
li[4:]5,6没有指定索引结尾,默认是读取到最后

列表常见方法集合 :

# in 元素是否在列表中
     cmp(list1,list2) 较两个列表的元素
     len() 列表元素的个数
     mix() 列表中元素的最大值
     min() 列表中元素的最小值
     list(seq) 将元组转换为列表
     list.append() 在列表末尾添加新的对象
     list.count() 统计某个元素在列表中出现的次数
     list.extend(seq) 在列表末尾一次性追加另一个序列的多个元素
     list.index() 从列表中找出某个值第一个匹配项的索引位置
     list.pop() 移除列表中的一个元素
     list.remove() 移除列表中某个值的第一个匹配项
     list.reverse() 反向列表中元素
     list.sort() 将原列表进行排序

元组

  1. 元组和列表非常类似,差别在于元组的第一级元素是不可改变的。
  2. 元组采用小括号进行表示,括号中元素与元素之间采用逗号分隔开。

元组常规写法展示 : 

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )

特别注意 : 当元组中只有一个元素是,需要在元素后面加一个括号 :

tu = ("yuanzu",)

元组的访问 :

元组的访问和列表一样,可以采用索引和切片。

元组的修改  :

元组的第几季元素不可修改,但是可以进行拼接 :

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 以下修改元组元素操作是非法的。
# tup1[0] = 100

# 创建一个新的元组
tup3 = tup1 + tup2
print tup3


########### 运行结果  ###########
(12, 34.56, 'abc', 'xyz')

特别注意 :元组不可修改的只是一级元素 :

tu = ([["hefuhew","fewrf"],"fhewhf",1213])
tu[0][0] = 123
print(tu)

上面这段代码是正确的,我们修改的并非是元组里面的元素,而是元组中列表的元素,而列表的元素是可以修改的。

元组的删除 :

元组中的元素是不可删除的,但是整个元组却可以直接删除

tup = ('physics', 'chemistry', 1997, 2000)
 
print tup
del tup
print "After deleting tup : "
print tup

######  上面这段代码是合法的    ##################

元组运算符 :

Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
('Hi!',) * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print x,1 2 3迭代

同样元素的索引也可以是负数。

元组中常见方法的集合 :

     cmp(tuple1,tuple2)  比较两个元组元素
     len()  计算元组元素的个数
     max()  返回元组中元素的最大值
     min()  返回元组中元素的最小值
     tuple(seq) 将列表转换为元组

补充 :

列表的遍历 :

采用for循环进行遍历

 animals = ["tiger","cat","baozi"]
 for it in animals :
     print(it)
     print(it+" looks like a cat!")
 print("All of these animals look like a cat!")

采用rang()函数来生成列表

# # ######   使用函数rang()
 for value in range(1,5) :      ##随机生成1-4的数字 括号左边是闭区间,右边是开区间
     print(value)
# # ######   使用rang()创建数字列表
 even_numbers = list(range(1,6))    ### 按区间生成任意数字
 print(even_numbers)

 numbers = list(range(2,11,2))       ###  按步数生成任意数字
 print(numbers)

 squares = []
 for value in range(1,11) :          ###  使用rang()生成1~10的平方
     squares.append(value**2)
 print(squares)

列表解析(可以使得代码更加简洁)

# # #####   列表解析   前面一个是放到列表中的参数,后面一个是提取参数的区间
 squares = [value**2 for value in range(1,11)]
 print(squares)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值