Python学习

列表-list

列表用方括号来表示,例如[2,1,5,6],让人联想到数组

数组在内存中连续存储值,在python中,列表会自动管理内存,它更像一个链表,但是我们也不需要了解指针,不需要了解节点,不需要实现链表,只需作为数据类型使用列表。

Python 支持多种复合数据类型,可将不同值组合在一起。最常用的列表 ,是用方括号标注,逗号分隔的一组值。列表可以包含不同类型的元素,但一般情况下,各个元素的类型相同

list1=['1','2','3','4']

list2=['20','a','语言']

list3=['red','white','green','purple','orange']

列表的操作

1.索引

索引可以正着来,也能反着来。

以list3为例:

正向的,列表索引从 0 开始,第二个索引是 1,依此类推。

反向的,从右向左,-1,-2,以此类推

注意事项:列表的索引不能超出索引范围,本例中,不能访问list3[5]或者list3[-6],否则会出现IndexError: list index out of range

2.取值

将列表的值打印出来

数据量小可以这样多个print()语句

数据量多用for循环

3.切片

从i到j的s的切片被定义为索引为k的项目序列,使得i<=k<j。如果i或j大于len(s),则使用len(s)。如果i被省略或为None,则使用0。如果j被省略或为None,则使用len(s)。如果i大于或等于j,则切片为空。

s[i:j] 对s从位置i~j进行切片,不包括j

s[i:j:k] 对s从位置i~j,以步长为k进行切片,不包括j

从左往右取数据,如果切片的范围没有去到元素,就会返回一个空列表

-1 和 2 的比较实际上是关于切片起始和结束索引的概念,而不是它们的数值大小。

起始索引 -1(最后一个元素)在结束索引 2(指向 98)之后,没有可提取的元素。结果为空

i=-1,j,k省略,实际是取值 x[-1]

j=-1,i,k省略,就是步长为1从左到右的切片,取不到-1

 

i,j都省略或为None,结果取决于k的符号,即往哪个方向以步长k切片

k=-1,就是反转列表

4.更新列表

通过下标直接修改

x=[1,2,3]
x[0]=2
print(x)

list.append()

x=[1,2,3,4]
x.append(5)
print(x)
x=[1,3,4,6]
x.append([7,9,8])
print(x)

list.append()只能接受一个参数

list.extend()

list.extend()也只能接受一个参数.

x=[1,2,3]
x.extend([4,5,6,7])
print(x)

 

x=[1,2,3]
x.extend([[4,5,6,7]])
print(x)

 

https://docs.python.org/3.9/library/stdtypes.html#common-sequence-operations

5.删除列表的值

6.列表操作符

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迭代

重复

拼接

列表常用API

操作列表的函数

序号函数
1len(list)列表元素个数
2max(list)返回列表元素最大值
3min(list)返回列表元素最小值
4list(seq)将可迭代数据转换为列表
x=range(4)
print(list(x))

[1,2,3,4]

列表的方法

序号方法
1list.append(obj)在列表末尾添加新的对象
2list.count(obj)统计某个元素在列表中出现的次数
3list.extend(seq)在列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
4list.index(obj)从列表中找出某个值第一个匹配项的索引位置
5list.insert(index, obj)将对象插入列表
6list.pop(index=-1)移除列表中的一个元素(默认最后一个元素),并且返回该元素的值
7list.remove(obj)移除列表中某个值的第一个匹配项
8list.reverse()反向列表中元素
9list.sort( key=None, reverse=False)对原列表进行排序: x.sort(key=lambda a:abs(a-3), reverse=False)
10list.clear()清空列表
11list.copy()复制列表

list.copy()   

list.insert() 插入到指定位置,越界了就插入到开头或末尾

list.sort()   reverse默认是False,从小到大排序

对于每一个元素,进行平方并根据大小,对原来的数进行排序

‘key=’等号后可以是其它不同的表达式,用来判断各种关系

元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号 ( ),列表使用方括号 [ ]。

1、创建元组

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

1.1 存放相同类型的数据

tup1 = (1, 2, 3, 4, 5 )

1.2 存放不同类型的数据

tup2 = ( 'abcd', 2004)

1.3 不需要括号也可以

tup3 = "a", "b", "c", "d"

1.4 只包含一个元素

元组中只包含一个元素时,需要在元素后面添加逗号 ,否则括号会被当作运算符使用:

tup1 = (50)
tup2 = (50,)

2.访问元组

如同列表一样,元组可以通过方括号和索引访问值

x=1,2,3,4

print(x[0]) #1

元组也可以切片,组合

x2=x[0:2]

print(x2)

x1=5,6,7,8

x3=x+x1

3.修改元组

元组中的元素值,不可修改。如果尝试修改,会报错Type Error:'tuple' object does not support item assignment

但是元素里的可变值是可以修改的,比如元组里的列表。

x=(1,[2,5]),对[2,5]进行修改,不可以改成别的列表x[1]=[3,4,5]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值