python机器学习5 数据容器

Python中有几个数据容器如下:

· List,数组,如同Array数组。

· Dictionarie,字典,可以通过文字来访问数据。

· Sets,序列集,做数学交集、并集等计算时使用。

· Tuple,序列,类似Dictionarie,但是预定义方式不同。

1.List数组

 

list=[3,1,2]
print(list)
print(list[2])

# %%
list=[3,1,2]
print(list[-1])

# %%
list=[3,1,2]
list[2]='hello'
print(list)

# %%
list=[3,1,2]
list.append("nihao")
print(list)

# %%
list=[3,1,2]
x=list.pop()
print(list)
print(x)

# %%
list=[3,1,2]
list.remove(2)
print(list)
list=list*2
print(list)
list=list+[4,5,6]
print(list)
list.extend([7,8])
print(list)

# %%
list=[3,1,2]
list.insert(2,3)
print(list)
list.sort()
print(list)
list.reverse()
print(list)
print(list.count(2))
print(len(list))
print(1 in list)

# %%
list=[[1,2],[3,4]]
print(list)
print(list[1][1])

# %%
list=["apple",[8,4,6]
print(list)
print(list[1][1])

# %%
list=[1,2,3,4]
i=0
for x in list:
    list[i]=list[i]*2
    i=i+1
print(list)

# %%
list=[1,2,3,4]
list=[x*2 for x in li
print(list)

# %%
list=[59,60,70,80]
list=[x**2 for x in l
print(list)

# %%
list=[20,30,50,80]
list=[x for x in list
print(list)

 

2.Slicing切片

Python还提供了简洁的语法来访问子列表,被称为切片(Slicing)。这个内容非常重要,后面数据处理的章节中,大多都是用这个方法切割出要用的有效数组数据。

假设list1的数据为[0,1,2,3,4],在这个程序中的切割方法如下:

· list1[0:2],取出list1[0]和list1[1]的数据,也就是输出[0,1]。

· list1[1:],取出list1[0]后的所有数据,也就是输出[1,2,3,4]。

· list1[:3],取出list1[3]之前的所有数据,也就是输出[0,1,2]。

· list1[:-2],“-2”指取出从后面算起的第2个数据,list1[:-2]也就是同list1[:3],取出第0个到倒数    第2个之间的数据,即输出[0,1,2]。

· list1[-2:],也就是同list1[3:],所以取出第3个到倒数第2个之间的数据,即输出[3,4]

list=[1,2,3,4]
print(list[2:4])
print(list[2:])
print(list[:2])
try:
    list[2:4]=[8,9]
except:
    list[2]=8
    list[3]=9
print(list)

 

3.Dictionarie字典

Dictionarie字典通过(key,value)的数据模式来预定义每一个数据,并通过逗号来区分每一个数组,比如d={'cat':'cute','dog':'love'}就是创建两组数据。

· 第0个数组key是cat,value是cute。

· 第1个数组key是dog,value是love。

d={'cat':'cute','dog':'love'}
print(d['cat'])
print('cat' in d)

# %%
d={'cat':'cute','dog':'love'}
d['fish']='wet'
print(d['fish'])
print(d.get('monkey','N/A'))
del(d['fish'])
print(d.get('fish','N/A'))

# %%
d={'person':2,'dog':4,'spider':8}
for animal in d: 
    legs=d[animal]
    print('A %s has % d legs'% (animal ,legs))

4.Set序列集集合比较

Set序列集可以用于数学集合论的集合比较,做出交集、并集、差集的运算。

A={1,2,3,4,5}
B={4,5,6,7,8}
print(A-B)
print(A&B)
print(A|B)
print(A.union(B))

# %%
A={1,2,3,4,5}
B={4,5,6,7,8}
A.discard(2)
print(A)
A.remove(4)
print(A)
A.add(4)
print(A)
A.update({2,3,4})
print(A)

5.Tuple序列

Tuple是序列,就像List数组一样,不同的是,Tuple元组使用大括号{},而List列表使用方括号[]。

创建一个元组与放置不同的逗号分隔值一样简单,也可以将这些以逗号分隔的值放在圆括号之中。

Tuple序列是一个列表,数据长度是不可变的。Tuple在很多方面与列表类似,最主要的差异:Tuple可以用作Dictionary字典中的键和集合的元素,而List列表则不能。

d={(x,x+1): x for x in range(3)}
print(d)
t=(1,2)
print(t)
print(type(t))
print(d[t])
print(d[1,2])

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值