python——列表和元组的通用操作
通过索引访问元素
list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
tuple1 = (1, 2, 3, 4, 5, 6, 7, 8, 9)
print(list1[0])
print(tuple1[1])
输出
1
2
索引从0开始
slice切片
slince() 内置函数
- slice语法格式:
[strt:end:step] start切片开始的索引(默认从0开始)end切片结束的索引(不包含end)默认为序列长度step步长,默认为1。步长为负数时,表示从右向左切片
list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(list2[3:7])
print(list2[2:-2:2])
输出
[4, 5, 6, 7]
[3, 5, 7]
tuple2 = ('p', 'y', 't', 'h', 'o', 'n')
print(tuple2[0:3])
print(tuple2[1:5:3])
输出
('p', 'y', 't')
('y', 'o')
示例:利用切片判断一个字符串是否时回文
str1 = 'abcddbca' 是回文
str2 = 'abdcba' 不是回文
str = 'abcddbca'
if (str == str[::-1]):
pritn('str is a palindrom')
else:
print('str is not a palindrom')
输出
str is not a palindrom
查找与计数
list.index(x) x在列表中第一次出现的位置,如果不存在,抛出异常 list.count(x) x在列表中出现的次数,如果没有返回0
list3 = [1, 2, 3, 4, 5, 6]
print(list3.index(3))
print(list3.count(3))
输出
2
1
最大值、最小值和长度
python内置的全局函数max(),min(),len()
注意:列表或元组的元素类型必须相同
tuple3 = (1, 2, 2, 3, 4, 2, 5, 6)
tuple4 = ('p', 'y', 't', 'h', 'o', 'n')
print(max(tuple3))
print(min(tuple3))
print(max(tuple4))
print(min(tuple4))
输出
6
1
y
h
加法、乘法和in运算
- list1 + list2 结果是两个列表或元组所包含的元素的总和
- list * n 表示对应的列表或元组重复n次
- x in list 判定列表中是否存在x元素,返回True或False
list4 = [1, 3, 5, 7]
list5 = [2, 4, 6, 8]
list6 = list4 + list5
list7 = list4 * 3
print(5 in list5)
print(list6)
print(list7)
输出
False
[1, 3, 5, 7, 2, 4, 6, 8]
[1, 3, 5, 7, 1, 3, 5, 7, 1, 3, 5, 7]
序列封包和解包
- 序列封包:把多个值赋给一个变量时,python将这些值封装成元组
- 序列解包:将序列(列表或元组)直接赋值给多个变量。序列中的元素依次赋值给每个变量
vals = 3, 6, 9
print(vals)
print(type(vals))
输出
(3, 6, 9)
<class 'tuple'>
vals = 3, 6, 9
d, e, f = vals
print(d)
print(e)
print(f)
输出
3
6
9
同时使用序列封包和解包,可以实现赋值运算符将多个值赋值给多个变量
d, e, f = 2, 4, 6
print(d)
print(e)
print(f)
# 等价
# temp = 2, 4, 6
# d, e, f = temp
输出
2
4
6
序列解包可以用于元组、列表、字典。序列解包可以让我们方便的对多个变量赋值。
>>>(a,b,c) = (9,8,20)
>>>b
8
>>>[a,b,c] = [10,20,30]
>>>b
20
>>>s = {'name':'jack','age':18,'job':'programmer','sex':'男'}
>>>a,b,c,d = s
>>>a
'name'
>>>b
'age'
>>>c
'job'

本文来自博客园,作者:hcypeu,转载请注明原文链接:https://www.cnblogs.com/hcypeu/p/16475206.html

浙公网安备 33010602011771号