Python学习笔记<list,tuple,range再探>

之前我也总结过一些用法,但是这些东西看起来不够公式化。今天无意间看到了python文档中得详细介绍。在这里搬运一下。

在python中,list、tuple、range都被成为sequence(序列)
str也被看做是特殊的sequence

list tuple range操作符表

这里写图片描述

我找重要的几个翻译一下:

操作符结果
x in sx是否在s中
s+t两个序列的串联(非常有用~)
n*s相当于给s加了n次
s[i]取下标,这个没什么好说的
s[i:j]切片,注意切出来的是从s[i]到s[j-1]
min(s)最小值
s.index(x)有点像find(),返回第一个x的下标
s.count(x)返回s中x的个数

专属于list的操作

有一些操作是list专属的(range、tuple作为不可变的序列)
这里写图片描述

比较重要的方法应该有:

操作符结果
s[i]=x改变值
del s[i,j]等同于s[i:j]=[],另还可以del s[i:j:k]
s.append(x)添加元素,但是现在看来可以用s+=[x]的形式代替
s.extend(t)两个序列的合并,也可以用s+=t来代替
s.insert(i,x)特定位置插入
s.pop(i)特定位置pop出
s.remove(x)删除第一个x
s.reverse()反转,也比较有用
s.copy()这个需要仔细甄别

在python中类似这样a=[0,1,2] b=a的操作导致的结果是b只是a的一个引用(或者说别名),正确的方法是b=a.copy()或者b=a[:]

list的构造方法

  • Using a pair of square brackets to denote the empty list: []
  • Using square brackets, separating items with commas: [a], [a, b, c]
  • Using a list comprehension: [x for x in iterable]
  • Using the type constructor: list() or list(iterable)

list(‘abc’) returns [‘a’, ‘b’, ‘c’] and list( (1, 2, 3) ) returns [1, 2, 3] 分解字符串的好方法。字符串因为也是特殊的迭代器,所以可以转换成list。

iterable对象
stackoverflow中的回答

  1. 实现了 iter() 或 getitem() 方法的对象;(常用)
  2. 实现了 .next() 的可调用实体。

sort

sort(*, key=None, reverse=None)
This method sorts the list in place, using only < comparisons between items. Exceptions are not suppressed - if any comparison operations fail, the entire sort operation will fail (and the list will likely be left in a partially modified state).

str.split()方法也返回的是一个list
这个方法可以很方便得用来分解字符串。

>>> string
'son of bitch'
>>> a=string.split()
>>> a
['son', 'of', 'bitch']

版权声明:本文为博主原创文章,转载请标明出处。

转载于:https://www.cnblogs.com/fridge/p/4861889.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值