python元组和列表都支持的方法_Python学习(四)—— 列表和元组的类中方法

列表

list:用中括号括起来,用“,”分割每个元素,列表中的元素可以是 数字、字符串、列表、布尔值......所有东西,可以说就是一个“集合”

li = [1,3,5,'alex','age',['sister',5],True]

列表是有序的

支持用索引、切片的方式取值

支持for、while循环

列表元素是可以用索引、切片的方式进行修改和删除的

1 li = [1,3,5,'alex','age',['sister',5],True]2 li[1] = 10

3 print(li)4 li[4] = [1,2,3,4]5 print(li)6 delli[0]7 print(li)8 """

9 [1, 10, 5, 'alex', 'age', ['sister', 5], True]10 [1, 10, 5, 'alex', [1, 2, 3, 4], ['sister', 5], True]11 [10, 5, 'alex', [1, 2, 3, 4], ['sister', 5], True]12 """

索引取值支持嵌套方式

c = li[5][0][1]print(c)#i

in和not in:

判断某个东西是否包含在某个东西里面(判断元素是否在列表中),结果是布尔值

1 li = [1,3,5,'alex','age',['sister',5],True]2 x = 1 inli3 y = 'sister' inli4 z = ['sister',5] inli5 w = 'sister'and 5 inli6 print(x,y,z,w)7 #True False True True

和其他类的转换

字符串可以使用list()转换为列表,内部使用for循环,但数值不可以

列表转换为字符串的方式:

——写for 循环:既有字符串又有数字

1 li = [1,3,5,'alex','age',['sister',5],True]2 s = ""

3 for i inli:4 s +=str(i)5 print(s)6 #135alexage['sister', 5]True

——用.join() :只有字符串

1 li = ['alex','age']2 s = "".join(li)3 print(s)4 #alexage

.clear()

给列表清空

.copy()

浅拷贝

.count()

计算元素出现的次数

x.append(c)

给x列表后追加c值

注意:c是参数,参数是调用函数时传入的变量

1 li = ['alex','age']2 v = li.append(["lala",124])3 print(v,li)4 #None ['alex', 'age', ['lala', 124]]

.extend(iterable)

将可迭代对象iterable里的元素一个一个追加,扩展原来的列表,在内部执行for循环。iterable是可迭代对象

1 li = ['alex','age']2 li.extend(["lala",124])3 print(li)4 li.extend("不得了")5 print(li)6 """

7 ['alex', 'age', 'lala', 124]8 ['alex', 'age', 'lala', 124, '不', '得', '了']9 """

.index()

根据值获取当前值的索引位置,最左侧优先

.insert(v1,v2)

在第v1位置插入v2

.pop(index)

删除列表中某个元素,默认删除最后一个,且删除的这个值可以获取

1 li = ['alex','age']2 v =li.pop()3 print(li,v)4 #['alex'] age

.remove()

删除列表中的指定值,且左边优先

.reverse()

将当前列表反转

.sort()

对当前列表排序

1 li = [11,44,22]2 li.sort()3 print(li)4 #[11, 22, 44]

对当前列表降序排列

1 li = [11,44,22]2 li.sort(reverse =True)3 print(li)4 #[44, 22, 11]

元组

tuple:是列表的一种加工,用“()”,一级元素不可被修改,不能增加或删除。

一般在创建元组时会在最后加一个“,”,以区分元组和列表

元组是有序的

1 tu = (11,44,22,["alex",2],True)2 print(tu)3 tu1 = (11,44,22,["alex",2],True,)4 print(tu1)5 """

6 (11, 44, 22, ['alex', 2], True)7 (11, 44, 22, ['alex', 2], True)8 """

元组可以通过索引和切片取值

元组支持for循环和while循环,是可迭代对象

元组可以修改内部列表的元素:

1 tu = (["alex",4,5],"ewe",)2 tu[0][2] = [1,3,5]3 print(tu)4 #(['alex', 4, [1, 3, 5]], 'ewe')

和其他类的转换

1 tu = ("asfe","ewe",)2 s = "we35123fe"

3 li = ["aweb","egg"]4 print(tuple(s),tuple(li))5 print(str(tu),list(tu))6 """

7 ('w', 'e', '3', '5', '1', '2', '3', 'f', 'e') ('aweb', 'egg')8 ('asfe', 'ewe') ['asfe', 'ewe']9 """

列表转换为字符串的方式:

——写for 循环:既有字符串又有数字

——用.join() :只有字符串

.index()

获取指定元素的索引,左侧优先

.count()

获得指定元素在元组中出现的次数

元组和列表的使用情况:

当创建的东西需要增、删、改时创建列表,当创建的东西不许修改时创建元组

字典

dict类

info ={"k1":"v1", #一个键值对

"k2":"v2"}

字典的value可以是任何值,数值、布尔值、字符串、列表、元组、字典......

字典的key可以是数值、字符串、元组、布尔值(布尔值会被忽略)

字典是无序的,即键值对的顺序是无序的

支持用索引的方式查找元素,不能切片

1 info ={2 "k1":"v1", #一个键值对

3 "k2":True,4 "k3":[7,86,9,(),{"kk1":4,"kk2":50}],5 True:(1,2,3,)6 }7 print(info)8 #{'k1': 'v1', 'k2': True, 'k3': [7, 86, 9, (), {'kk1': 4, 'kk2': 50}], True: (1, 2, 3)}

9 v = info["k3"][4]["kk2"]10 print(v)11 #50

支持删除

1 del info["k1"]2 print(info)3 del info["k3"][4]["kk1"]4 print(info)5 """

6 {'k2': True, 'k3': [7, 86, 9, (), {'kk1': 4, 'kk2': 50}], True: (1, 2, 3)}7 {'k2': True, 'k3': [7, 86, 9, (), {'kk2': 50}], True: (1, 2, 3)}8 """

for 循环 + .keys() .values() .items()

默认for循环和 .keys()结果只有key

for + .values()结果只有value

for + .items()结果是键值对

1 info = {'k2': True, 'k3': [7, 86, 9, (), {'kk2': 50}], True: (1, 2, 3)}2 for k ininfo:3 print(k)4 """

5 k26 k37 True8 """

9 for k ininfo.keys():10 print(k)11 """

12 k213 k314 True15 """

16 for v ininfo.values():17 print(v)18 """

19 True20 [7, 86, 9, (), {'kk2': 50}]21 (1, 2, 3)22 """

23 for k,v ininfo.items():24 print(k,v)25 """

26 k2 True27 k3 [7, 86, 9, (), {'kk2': 50}]28 True (1, 2, 3)29 """

.clear()

清空

.copy()

浅拷贝

dict.fromkeys()

根据序列创建字典,指定统一的值

info = dict.fromkeys(["a",1,3],"t")print(info)#{'a': 't', 1: 't', 3: 't'}

.get(key, c)

根据key获取value,如果不存在此key则返回c,不指定c返回None

.pop(key) .popitem()

前者删除字典中某个键值对,且删除的这个value可以获取

后者不可加参数,随机删除一对键值对,且可以获取删除的键值对

.setdefault()

设置新键值对,如已存在则获取当前key的值,否则设置,且获取新key对应的值

1 dic = {"k1":"v1","k2":"v2"}2 v = dic.setdefault("k3",123)3 print(dic,v)4 #{'k1': 'v1', 'k2': 'v2', 'k3': 123} 123

5 v1 = dic.setdefault("k1",123)6 print(dic,v1)7 #{'k1': 'v1', 'k2': 'v2', 'k3': 123} v1

.update()

对字典进行更新,有两种使用方式

1 dic = {"k1":"v1","k2":"v2"}2 dic.update({"k1":1,"k3":123})3 print(dic)4 #{'k1': 1, 'k2': 'v2', 'k3': 123}

1 dic = {"k1":"v1","k2":"v2"}2 dic.update(k1 = 1,k3 = 123)3 print(dic)4 #{'k1': 1, 'k2': 'v2', 'k3': 123}

注意:参数写成**kwargs,说明Python会自动转成字典

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值