python中复杂数据的应用

目录

一、list和tuple的区别

二、python中的序列

三、list中所有方法的使用

四、将元组和列表转换成字典

五、dict中所有方法的使用

六、list或dict浅拷贝


一、list和tuple的区别

两者都属于序列,可以储存不同种类的数据类型,一般来说list序列是可变的,可给其中的元素赋值或者扩充序列,而tuple是不可变的,无法对其元素赋值扩充元素等,但如果tuple序列中包含list这时tuple也为可以改变了

tuple_var = (1, [1,2], "1")
print(tuple_var,type(tuple_var))
(1, [1, 2], '1') <class 'tuple'>

二、python中的序列

1、元组(tuple)

元组的元素不能修改,但是可以对整个元组进行删除和组合。 元组是用小括号进行包容,元素之间通过逗号。

tuple_data = ("1", [], 1)
print(tuple_data,type(tuple_data))
('1', [], 1) <class 'tuple'>

2、字节(bytes)

python中以字节为单位来处理,用b‘’来赋值创建

bytes_var = b'1'
print(bytes_var,type(bytes_var))
b'1' <class 'bytes'>

3字符串(str)

一般用‘’或“”来表示,创建字符串只需要为变量分配一个值即可

str_var = "hello"
print(str_var)

4、列表(list)

list中元素是可以修改的,也可以扩充元素,用[ ]定义,元素用逗号隔开

list_data = [1, 2, 3]
print(list_data,type(list_data))
[1, 2, 3] <class 'list'>

三、list中所有方法的使用

1、 list.append( )  

在末尾追加一个元素

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

2、list.clear()

清除

list = [1, 2, 3, 4, 5, 6]
list.clear()
print(list)
[]

3、list.copy()

复制

list_var = [1, 5, 4, 5]
list_data = list_var.copy()
print(list_var, list_data)
print(id(list_var))
print(id(list_data))
[1, 5, 4, 5] [1, 5, 4, 5]

4、list. count()

一个元素出现的次数

list_var = [1, 5, 4, 5]
list_var.count(5)
print(list_var.count(5))
2

5、list.extend()

将其他元素增加到数列

list_data = [1, 2, 3]
list_data.extend("5")
print(list_data)
[1, 2, 3, '5']

6、list.index()

检测第一个出现的索引,即在序列中下标的位置

list_data = [1, 2, 3]
list_data.index(1)
print(list_data.index(1))
0

7、 list. insert()

插入到指定位置(下标位置,插入值)

list_data = [1, 2, 3]
list_data.insert(3,4)
print(list_data)
[1, 2, 3, 4]

8、list.pop()

删除并返回(下标位置为删除值)

list_data = [1, 2, 3]
list_data.pop(2)
print(list_data)
[1, 2]

9、list.remove()

删除(如果有一样的值,只能删除第一个)

list_data = [1, 1, 2, 3]
list_data.remove(1)
print(list_data)
[1, 2, 3]

10、  list.reverse()

将数列倒置

list_data = [1, 2, 3]
list_data.reverse()
print(list_data)
[1, 2, 3]
[3, 2, 1]

11、list.sort()

排序

list = [5, 2, 4, 3, 1, 6]
list.sort()
print(list)
[1, 2, 3, 4, 5, 6]

四、将元组和列表转换成字典

字典是一个无序、可变和有索引的集合。用{ }来编写,将其他元素转化为字典时,要对应关键字和值

dict_data1 = dict(((1,2), (3,4)))  #将元组转化为字典
print(dict_data1)
{1: 2, 3: 4}




dict_data2 = dict([(5, 6), (7, 8)]) #将列表转化为字典
print(dict_data2)
{5: 6, 7: 8}

五、dict中所有方法的使用

1、dict.clear()

清除

dict_data = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data.clear()
print(dict_data)
{}

2、dict.copy()

浅拷贝

dict_data = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data.copy()
print(dict_data)
print(dict_data.copy())
{1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
{1: 1, 2: 1, 3: 1, 4: 1, 5: 1}

3、dict.get()

通过键获取值,键不存在返回默认值

dict_data = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data.get(3)
print(dict_data.get(3))

1

4、dinct.items()

 返回字典中所有的键值对组成的列表

dict_data = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data.items()
print(dict_data.items())
dict_items([(1, 1), (2, 1), (3, 1), (4, 1), (5, 1)])

5、dic.keys

返回字典中所有的键组成的列表

dict_data = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data.keys()
print(dict_data.keys())
dict_keys([1, 2, 3, 4, 5])

6、dic.pop

 删除并返回指定键的键值对

dict_data = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data.pop(1)
print(dict_data)
{2: 1, 3: 1, 4: 1, 5: 1}

7、 dic.popitem

 按照先进后出的原则,删除字典的元素并以(key,value)元组返回。如果字典为空,则引发KeyError

dict_data = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data.popitem()
print(dict_data)
{1: 1, 2: 1, 3: 1, 4: 1}

8、dic.setdefault

 如果键不存在于字典中,将会添加键并将值设为默认值

dict_data = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data.setdefault(7)
print(dict_data)
{1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 7: None}

9、dic.update

字典1合并字典2,对于在字典1中存在的键,使用字典2的值进行数据覆盖      

dict_data1 = {1: 1, 2: 1, 3: 1, 4: 1, 5: 1}
dict_data2 = {6: 2, 7: 2, 8:2}
dict_data1.update(dict_data2)
print(dict_data1)
{1: 1, 2: 1, 3: 1, 4: 1, 5: 1, 6: 2, 7: 2, 8: 2}

六、list或dict浅拷贝

赋值运算是相当于给值挂上a,b的标签,并没有改变内存地址

a = [1, 2, 3, 4, [5, 6, 9, [7, 8]]]
b = a
print(id(a))
print(id(b))
2226319752448
2226319752448

浅拷贝是创建一个对象,这个对象有着原始对象属性值的一份精准拷贝,如果属性是基本类型,拷贝的就是基本类型的值;如果属性是引用类型,拷贝的就是内存地址,如果其中一个对象改变了这个地址,就会影响到另一个对象。

 

a = {1: [1,2,3], 2:3, 4:5}
b = a.copy()
print(a, b)
a[1].append(4)
print(a, b)
{1: [1, 2, 3], 2: 3, 4: 5} {1: [1, 2, 3], 2: 3, 4: 5}
{1: [1, 2, 3, 4], 2: 3, 4: 5} {1: [1, 2, 3, 4], 2: 3, 4: 5}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值