python面试题——python常见数据结构

                              python面试题——python常见数据结构

文章开始把我喜欢的这句话送个大家:这个世界上还有什么比自己写的代码运行在一亿人的电脑上更酷的事情吗,如果有那就是让这个数字再扩大十倍

Python中常见的数据结构可以统称为容器(container)。序列(如列表和元组)、映射(如字典)以及集合(set)是三类主要的容器。

1.序列

(1)列表之list函数

list1=['hello','world']

list2=list("hello")

(2)元祖

元组与列表一样,也是一种序列,唯一不同的是元组不能被修改(字符串其实也有这种特点)

t1=tuple([1,2,3])
t2=tuple("jeff")
t3=tuple((1,2,3))

(3)字符串

str1='Hello world'
print str1
print str1[0]#可以索引
for c in str1:#输出每个字母
    print c

二、映射(字典)

1、键类型

字典的键可以是数字、字符串或者是元组,键必须唯一。在Python中,数字、字符串和元组都被设计成不可变类型,而常见的列表以及集合(set)都是可变的,所以列表和集合不能作为字典的键键可以为任何不可变类型,这正是Python中的字典最强大的地方。

三、集合

特征:a:可变 b:不包含重复元素

集合主要用于检查成员资格,因此副本是被忽略的,如下示例所示,输出的集合内容是一样的。即不包含重复元素

set1=set([0,1,2,3,0,1,2,3,4,5])
print set1# 0 1 2 3 4 5
 
set2=set([0,1,2,3,4,5])
print set2#0 1 2 3 4 5

集合是可变的,所以不能用做字典的键。集合本身只能包含不可变值,所以也就不能包含其他集合:可以使用frozenset类型用于代表不可变(可散列)的集合:

set1=set([1])
set2=set([2])
set1.add(frozenset(set2))#利用frozenset将可变的set变为不可变的元素
print set1

加油吧,程序员!

猜你喜欢

转载自blog.csdn.net/weixin_42248302/article/details/83036001