(二)python数据类型(下)

python标准数据类型有Number(数字),String(字符串 ,Boolean(布尔值),List(列表),Tuple(元组),Set(集合),Dictionary(字典)
Number、String与Boolean在上一章节我们已详细讲解,这一章我们主要讲解剩下部分

  • list

Python内置的一种数据类型是list,list是一种有序结合。例如:

language = ['C','Java','python','NodeJs']

print(language)  #打印列表language

print(type(language))  #type()函数可获取该数据的数据类型,并打印出来

print(len(language))  #len()函数可获取list元素的个数,并打印出来

打印结果为:

['C', 'Java', 'python', 'NodeJs']

<class 'list'>

4

{1}

如果我们想要访问list的每一个位置的元素,记得索引是从0开始,索引的最大值为len(list) - 1。

language = ['C','Java','python','NodeJs']

print(language[0])  #获取list的第一个值

print(language[1])  #获取list的第二个值

print(language[2])  #获取list的第三个值

print(language[3])  #获取list的第四个值

print(language[len(language) - 1])  #获取list的最后一个值,等同于print(language[3])

print(language[-1])  #获取list的最后一个值,等同于print(language[3]),该索引会直接获取list的最后一个值

#以此类推可以获取list倒数第二个值,倒数第三个值,也不可超过list个数上线

打印为:

C

Java

python

NodeJs

NodeJs

NodeJs

由于list是一个可变的有序表,所以我们也可对list进行追加、插入、删除、查询等相关操作。例如:

num = [1 , 2 , 3]

print(num)

num.append(4)  #通过append()函数,在num末尾进行追加

print(num)

num.insert(0,7) #通过insert()函数,把元素插入到指定位置。比如在索引号为0的位置追加数字 7

print(num)

num.pop()  #通过pop()函数,删除list末尾的元素

print(num)

num.pop(0)  #我们也可通过pop(i),i为索引位置,进行指定删除某个元素

print(num)

num[0] = "替换成功"  #我们也可把某个元素替换成别的值,一个list内可包含多种不同数据类型的值

print(num)

打印为:

[1, 2, 3]

[1, 2, 3, 4]

[7, 1, 2, 3, 4]

[7, 1, 2, 3]

[1, 2, 3]

['替换成功', 2, 3]

list还有很多自带的函数,下面把一些常用地函数一一列给大家

language = ['C','Java','python','NodeJs']

num = [1 , 2 , 3 , 1]

list2 = language + num   #列表组合

print(list2)  #打印列表组合list2

print(max(num))  #使用max()函数获取list num的最大值,并打印出来

print(min(num))  #使用min()函数获取list num的最小值,并打印出来

print(num.count(1))  #查看元素1在list num中出现过的次数

num.reverse()  #使list num进行倒序排列

print(num)

num.sort()  #使list num进行升序排列

print(num)

num.clear()  #清除列表中的所有数据

print(num)

num.extend([5,6,7]) #向list num末尾一次性追加多个值

print(num)

print(5 in num)  #判断5是否存在于list num中

print(1 in num)  #判断1是否存在于list num中

打印为:

['C', 'Java', 'python', 'NodeJs', 1, 2, 3, 1]

3

1

2

[1, 3, 2, 1]

[1, 1, 2, 3]

[]

[5, 6, 7]

True

False

二维数组:

list1 = [1,2,[11,12,12]]

print(list1)  #打印二维数组list1

print(list1[2])  #打印二维数组的第三个值,也就是list1中所包含的list

print(list1[2][0])  #打印所包含的list里的第一个值

打印为:

[1, 2, [11, 12, 12]]

[11, 12, 12]

11
  • tuple

另一种有序列表叫做元组,即tuple。tuple与list很相似,但是tuple是不可变的列表,一旦初始化就不可修改,与list相比较为安全。

定义tuple:

language = ('C','Java','python','NodeJs') #初始化一个tuple

print(language)

top = ()  #初始化一个为空的tuple

print(top)

top2 = (1)  #但如果初始化的tuple只有一个值,则打印出来的则只为tuple内的元素,这就违背了tuple的定义,所以我们为了杜绝这种情况,当tuple内只有一个元素时,应该采用以下写法

print(top2)

top3 = (1,)

print(top3)

打印为:

('C', 'Java', 'python', 'NodeJs')

()

1

(1,)

其他操作

**由于tuple初始化成功后不可改变,所以不可以进行修改。只能进行查询与取值,但如果tuple内存在list,list内的值是可以更改的。** 
language = ('C','Java','python','NodeJs')

print(language[0])  #根据索引查询tuple内的第一个值

print(language[3])  #根据索引查询tuple内的第四个值

print(language[-1])  #根据索引查询tuple内的最后一个值

print('C' in language)  #判断字符串'C'是否在tuple内

del language  #删除tuple

#注意!删除tuple即代表不存在,而不像list清空元素,因为tuple定义后即不可更改

打印为:

C

NodeJs

NodeJs

True
  • dict

    Python内置了字典:dict,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
    dict特性:使用键值对(key-value)存储,value 是我们要存储查找的数据,key是我们要找到数据的钥匙。key必须是唯一且不可变的对象。

grade = {"tom":50,"boby":60,"grad":99}  #定义dict

print(grade)  #输出dict

print(grade["boby"])  #根据key进行索引查询,若所查询的dict中并没有这个key,则系统会报错

grade["boby"] = 0  #更改key为boby的值

print(grade["boby"])

#而为了判断dict是否拥有这个key,有以下两种方法

print("boby" in grade)  #若不存在,则会返回False

print(grade.get("boby"))  #若不存在,则会返回None

print(grade.get("boby",-1))  #若不存在,也可返回自己所定义的value

打印为:

{'tom': 50, 'boby': 60, 'grad': 99}

60

0

True

0

0

由于dict内部存放的顺序和key放入的顺序是没有关系的,所以插入、删除、查询一切都是根据dict内的key的值。

grade = {"tom":50,"boby":60,"grad":99}  #定义dict

grade['join'] = 88  #向grade中添加数据,key为join,value为88

print(grade)

grade.pop('boby')  #删除key为boby的这一组数据

print(grade)

#遍历,循环出的所有的value值

for i in grade.values():

    print(i)

grade.clear()  #清空dict

del grade  #删除dict

打印为:

{'tom': 50, 'boby': 60, 'grad': 99, 'join': 88}

{'tom': 50, 'grad': 99, 'join': 88}

50

99

88
  • set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

**由于key必须是唯一的且不可变的,所以set中所有的值也都要有这种特性的** 

在创建set需要一个list或者tuple或者dict作为输入集合,重复元素在set中可以重复添加但是会被自动过滤。

s1 = set([1,2,3])  #以list作为一个输入集合创建set

print(s1)

s2 = set((1,2,3,2,1))  #以tuple作为一个输入集合创建set,重复元素会被自动忽略

print(s2)

s3 = set({1:"one",2:"two",3:"three"})  #以dict作为一个输入集合创建set,value会被自动忽略

print(s3)

打印为:

{1, 2, 3}

{1, 2, 3}

{1, 2, 3}

其他操作:

s1 = set([1,2,3,4])  #以list作为一个输入集合创建set

s1.add(5)  #添加元素5

s1.add(1)  #添加元素1,但由于存在1所以此添加忽略

s1.add((7,8,9)) #添加元组,因为元组不可变,列表、字典均可变所以不可添加

print(s1)

 

#打碎插入

s2 = set([1,2,3])

s2.update([4,5,6])  #打碎插入,插入整个List

s2.update((6,7,8))  #打碎插入,插入整个Tuple

s2.update("daab")   #打碎插入,插入整个字符串

print(s2)

s2.remove(1)  #删除s2中值为1的key

print(s2)

 

a1 = s1 & s2  #a1为s1与s2所有的交集

print(a1)

a2 = s1 | s2  #a2为s1与s2所有的并集

print(a2)

打印为

{1, 2, 3, 4, 5, (7, 8, 9)}

{1, 2, 3, 4, 5, 6, 7, 8, 'a', 'd', 'b'}

{2, 3, 4, 5, 6, 7, 8, 'a', 'd', 'b'}

{2, 3, 4, 5}

{1, 2, 3, 4, 5, 6, 7, 8, (7, 8, 9), 'b', 'a', 'd'}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值