python之列表/元组常用方法

1、len在列表与元祖上的使用

  1. len()可以计算出除了数字类型之外,其他所有数据类型的长度
>>> names = ["python", "i", "love", "madongmei"]
>>> lenth = len(names)
>>> print(lenth)
4

2、列表的之间的累加和乘法

  1. 都是将列表拼接在一起,但两者都是定义一个新的列表,而不是在原来列表上进行操作的
>>> names = ["python", "i", "love", "madongmei"]
>>> new_names = names + names
>>> print(new_names)
['python', 'i', 'love', 'madongmei', 'python', 'i', 'love', 'madongmei']
>>> new_names = names * 2
>>> print(new_names)
['python', 'i', 'love', 'madongmei', 'python', 'i', 'love', 'madongmei']
>>> print(names)
['python', 'i', 'love', 'madongmei']
>>> 

3、in 、not in 在列表中的应用

  1. in是用来判断某个成员是否在该数据结构当中
  2. not in 则是相反的,
>>> bool("i" in names)
True
>>> bool("i" not in names)
False
>>> 

4、append()

  1. lsit.append(new_item),new_item是添加进列表的新元素
  2. 将一个元素添加到列表当中
  3. 被添加的元素只会在末尾,是在原有列表中进行操作的,与字符串、元组就有很大区别,也满足列表的长度可变的特点
>>> names = ["i"]
>>> names.append("python")
>>> print(names)
['i', 'python']

5、insert()

  1. insert(index,new_item),index表示新的元素item放在哪一个位置上,
  2. 将一个元素添加到列表的指定位置上
  3. 当传入的位置不存在时,则将新元素添加到列尾结尾处
>>> fruits = ["苹果", "西瓜", "水蜜桃"]
>>> fruits.insert(1,"水晶梨")
>>> print(fruits)
['苹果', '水晶梨', '西瓜', '水蜜桃']
>>> 

6、count()

  1. inttype = list.count(item)
  2. 返回列表中成员个数
  3. 如果想要查询的元素item不存在,则返回0
>>> print(fruits)
['苹果', '水晶梨', '西瓜', '水蜜桃', '西瓜', '西瓜', '水蜜桃']
>>> fruits.count("水蜜桃")
2
>>> fruits.count("西瓜")
3
>>> 

7、remove()

  1. list.remove(item)
  2. 删除列表中的某个元素
  3. 如果删除的元素不存在,则直接报错,删除的元素有多个,只会删除第一个
  4. 内置函数 del() 将整个变量删除
>>>print(fruits)
['龙眼', '葡萄', '苹果', '水晶梨', '西瓜', '水蜜桃', '西瓜', '西瓜', '水蜜桃']
>>> fruits.remove("西瓜") #只删除第一个
>>> print(fruits)
['龙眼', '葡萄', '苹果', '水晶梨', '水蜜桃', '西瓜', '西瓜', '水蜜桃']

>>> del(fruits)
>>> print(fruits)
Traceback (most recent call last):
  File "<pyshell#37>", line 1, in <module>
    print(fruits)
NameError: name 'fruits' is not defined
>>> 
>>> 

8、reverse()

  1. list.reverse() 无参数传递
  2. 将当前列表顺序进行翻转
  3. 1
>>> beverage = ["雪碧", "可乐", "绿豆冰沙", "奶茶", "老盐柠檬水"]
>>> beverage.reverse()
>>> print(beverage)
['老盐柠檬水', '奶茶', '绿豆冰沙', '可乐', '雪碧']
>>> 

9、sort()

  1. list.sort(key = None,reverse = False) key 是参数比较,reverse是排序规则,True是降序,默认False是升序
  2. 对当前列表按照一定规律进行排序
  3. 列表中的元素类型必须相同,否则无法排序
>>> print(beverage)
['老盐柠檬水', '奶茶', '绿豆冰沙', '可乐', '雪碧']
>>> beverage.sort()
>>> print(beverage)
['可乐', '奶茶', '绿豆冰沙', '老盐柠檬水', '雪碧']
>>> books = ["python", "django", "web", "flask", "tornado", "C", "Java"]
>>> books.sort()
>>> print(books)
['C', 'Java', 'django', 'flask', 'python', 'tornado', 'web']
>>> 

10、clear()

  1. list.claer(),无参数传递,无返回
  2. 清除列表中所有元素
>>> print(books)
['C', 'Java', 'django', 'flask', 'python', 'tornado', 'web']
>>> books.clear()
>>> print(books)
[]
>>> 

11、copy

  1. list.copy() 无参数传递,返回一个一模一样的列表
  2. 将当前的列表复制一份相同的列表,新列表与就列表内容相同,但内存空间不同
>>> old_list = ["python", "web", "Java"]
>>> new_list = old_list.copy()
>>> print(new_list)
['python', 'web', 'Java']
>>> id(old_list)
1853861614400
>>> id(new_list)
1853861614016
>>> 
  1. copy与二次赋值的区别,copy后与原来的列表是不同内存地址,属于浅拷贝
  2. 而二次赋值变量与原始变量是享有相同的内存空间
  3. 操作如下
>>> b = 100
>>> a = b
>>> print(a)
100
>>> id(b)
1853820655056
>>> id(a)
1853820655056

#copy是属于浅拷贝,只对第一层的数据进行copy,拷贝完成后,相互之间还是会发生变化
>>> a = [1, 2, 3]
>>> b = a.copy()
>>> b.append(4)
>>> print(a)
[1, 2, 3]
>>> print(b)
[1, 2, 3, 4]
#浅拷贝的体现如下:
>>> a = [[1, 2, 3], [4, 5, 6]]
>>> b = a.copy()
>>> b[0].append(10)
>>> print(b)
[[1, 2, 3, 10], [4, 5, 6]]
>>> print(a)
[[1, 2, 3, 10], [4, 5, 6]]
# 深拷贝:不仅仅是对第一层进行了copy,对深层的数据也进行了copy,原始变量和新变量完全不相同
>>> 

13、extend

  1. list.extend(iterable),括弧中要放列表或元组,无返回值
  2. 将其他列表或元组中的元素一次性倒入到当前列表中
  3. 1
>>> stdents = ["xiaomei", "xiaoxi", "xiaozhang", "xiaolan", "xiaoman", "xiaohui",]
>>> new_students = ["xiaoxiong", "xiaojiao", "xiaohong"]
>>> stdents.extend(new_students)
>>> print(stdents)
['xiaomei', 'xiaoxi', 'xiaozhang', 'xiaolan', 'xiaoman', 'xiaohui', 'xiaoxiong', 'xiaojiao', 'xiaohong']
>>> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值