python列表定义int_python初步学习-python数据类型-列表(list)

列表

list 在 python 中具有非常强大的功能

定义

在python中,用方括号表示一个list:[]

在方括号里面,可以是 int,也可以是 str类型的数据,甚至也可以是Flase/True这样的布尔值

列表可以无限大,就是说list里面可以容纳的元素数量无限,当然这是在硬件设备理想的情况下。

在 java 中有一个跟 list 相似的数据类型-数组,但是两者之间还是有差别的。

在 java 中,数组的元素必须是基本数据类型中某一个,也就是相同数据类型,要么全是int类型,要么全是char类型等。不能一个数组中既有int类型又有char类型。这是因为java中的数组需要提前声明,声明的时候就确定了里面的类型。但是list中的元素数据类型确实任意的,可以是int、str、list,dict等。

列表、元组和字符串都是序列,序列的两个主要特点是索引操作符和切片操作符。

索引操作符让我们可以从序列中抓取一个特定项目

切片操作符让我们能够获取序列的一个切片,即一部分序列

索引和切片

在字符串中,索引号是以字符为单位确定的;而在list中,是以元素为单位

>>> a = 'hello.world'

>>> a[2]

'l'

>>> b = ['alpha','bete','gamma']

>>> type(b)

>>> b[2]

'gamma'

>>> b[:2] #跟str中的类似,切片的范围是:包含开始位置,到结束位置之前

['alpha', 'bete'] #不包含结束位置

>>> b[:2][1] #可以进行二次切片

'bete'

list和str两种类型的数据,有共同的地方,它们都属于序列(都是一些对象按照某个次序排列起来,这就是序列的最大特征),因此,就有很多类似的地方。如刚才演示的索引和切片,是非常一致的。

>>> a.index('h')

0

>>> b.index('bete')

1

如果从右边开始编号,右边第一个可以编号为-1,然后向左依次是:-2,-3,...,依次类推下来。这对字符串、列表等各种序列类型都是用。

>>> a[-1]

'd'

>>> b[-2]

'bete'

反转

这个功能在编程中经常会用到。

方法一

>>> b = ['alpha','bete','gamma']

>>> b[::-1]

['gamma', 'bete', 'alpha']

>>> b

['alpha', 'bete', 'gamma']

上述不管是str还是lst反转之后,再看原来的值,没有改变。这就说明,这里的反转,不是在“原地”把原来的值倒过来,而是新生成了一个值,那个值跟原来的值相比,是倒过来了。

方法二

使用 reversed() 函数

>>> b

['alpha', 'bete', 'gamma']

>>> reversed(b)

>>> list(reversed(b))

['gamma', 'bete', 'alpha']

它返回一个可以迭代的对象

list基本操作

len() 查看list中的元素个数

>>> b

['alpha', 'bete', 'gamma']

>>> len(b)

3

+ 连接两个列表

>>> b

['alpha', 'bete', 'gamma']

>>> len(b)

3

>>> c = ['apple','orange','banana']

>>> b + c

['alpha', 'bete', 'gamma', 'apple', 'orange', 'banana']

* 重复元素

>>> b*2

['alpha', 'bete', 'gamma', 'alpha', 'bete', 'gamma']

count 计算元素在列表中出现的次数

>>> b

['alpha', 'bete', 'gamma', 'delta', 'epsilon']

>>> b.count('a')

0

>>> b.count('alpha')

1

in 成员运算符

>>> 'apple' in c

True

>>> 'apple' not in c

False

max()、min() 用法和str中的一样,需要注意的是如果元素不是int类型,都是按照字符在ascii编码中所对应的数字进行比较的。

>>> max(b)

'gamma'

>>> min(b)

'alpha'

append 将新的元素x追加到list的尾部。

>>> b

['alpha', 'bete', 'gamma']

>>> b.append('delta')

>>> b

['alpha', 'bete', 'gamma', 'delta']

>>> id(b)

94144512

>>> b.append('epsilon')

>>> b

['alpha', 'bete', 'gamma', 'delta', 'epsilon']

>>> id(b)

94144512

从上面可以看出,生成一个新的列表后,列表的地址没有发生变化,因此,可以说明

列表是可以修改的。这种修改,不是复制一个新的,而是在原地进行修改。

insert 将元素插入到列表中,不是尾部

>>> b

['alpha', 'bete', 'gamma', 'delta', 'epsilon']

>>> b.insert(0,'zaeta')

>>> b

['zaeta', 'alpha', 'bete', 'gamma', 'delta', 'epsilon']

>>>

list中的元素,不仅能增加,还能被删除。删除list元素的方法有两个,它们分别是:

pop 删除最后一个元素并返回这个元素

>>> b

['zaeta', 'alpha', 'bete', 'gamma', 'delta', 'epsilon']

>>> b.pop()

'epsilon'

>>> b

['zaeta', 'alpha', 'bete', 'gamma', 'delta']

remove 移除指定元素,没有返回值

>>> b

['zaeta', 'alpha', 'bete', 'gamma', 'delta']

>>> b.remove('delta')

>>> b

['zaeta', 'alpha', 'bete', 'gamma']

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值