python 2.7 数据结构: 基础面试总结

python中基础的数据类型包括:

  1 Number(数字)

  2 String(字符串)

  3 List(列表)

  4 Tuple(元组)

  5 set(集合)

  6 Pictionary(字典)

按照可变数据和不可变数据来区分:

  不可变数据(3个):Number(数字),String(字符串),Tuple(元组)
  可变数据(3个):List(列表),Dictonary(字典),set(集合)

创建方式:

  创建列表: listT=[1,2,3,4,5]

  创建元组:tup2=(1,2,3,4,5)

  创建字典:dict2={"abc":123,"def":789}

  创建集合:student={'Tom','Jim','Mary'}

列表:列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)【插入数据可重复,数据不唯一】

listT=[,"",(,,,),[,,],{"":},{,,}]    #列表可以存储数据类型:数字,字符,元组,列表,字典,set 
print listT #得:[, '', (, , , ), [, , ], {'': }, set([, , ])]

元组:元组(tuple)与列表类似,元组不能二次赋值。【元组本身是只读对象,如果元组中的对象是可变类型数据,可变类型数据依然可以修改】

tuple=(1,"",(3,4,5,6),[7,8,9],{"":11},{12,13,14})    #元组可以存储数据类型:数字,字符,元组,列表,字典,set
print tuple
print tuple[0]
print tuple[3]
tuple[3][0]=77
print tuple[3]
一下为输出测试结果:

#(1, '2', (3, 4, 5, 6), [7, 8, 9], {'10': 11}, set([12, 13, 14]))
# 1
#[7, 8, 9]
#[77, 8, 9]

字典:列表是有序的对象集合,字典是无序的对象集合【键必须是唯一的,但值则不必;值可以取任何数据类型,但键必须是不可变的】

dict2={1:1,"2":"2",(3):(3)}
print dict2 #得 {3: 3, 1: 1, '2': '2'} 元组类型发生了改变
dict2={1:1,"2":"2",(3,2):(3,2)}
print dict2  #{1: 1, (3, 2): (3, 2), '2': '2'} 元组未发生改变
dict2={1:1,"2":"2",(3,2):(3,2),4:[5],"5":{"66":"66"},(3):{"77","88"}}  #键必须是不可变的,值可以是任何类型:依次为数字,字符,元组,列表,字典,set集合
print dict2 #得 {1: 1, (3, 2): (3, 2), 3: set(['77', '88']), 4: [5], '2': '2', '5': {'66': '66'}}

集合:set是一个无序的不重复元素序列

set={1,"",(3,2)}
print set # 得:set([1, (3, 2), '2']) ;看到数据结构后着实让人发现原来set集合内部结构也是一个列表。这就不难理解为啥可以用set给list列表去重
set={1,"2",(3,2)}      #集合只能存放不可变类型,可变类型放入后会报错
print set
list=[4,5,6]
dict2={"9":"10"}
set={6,7,8}
#set.add(list) #TypeError: unhashable type: 'list'
#set.add(dict2) #TypeError: unhashable type: 'dict'
#set.add(set) #TypeError: unhashable type: 'set'

面试常问问题:

  1  list列表可以存储的类型结构:数字,字符串,元组,列表,字典,set

  2  tuple元组可以存储数据类型:数字,字符,元组,列表,字典,set

  3  dict字典可以存储数据类型:分别说:键(不可变),值(数字,字符,元组,列表,字典,set集合)

  4  set集合可以存储数据类型:不可变类型(数字,字符,元组)

未完待续》》

  补充数据类型转换

  

  

  
  

上一篇:开源自动驾驶仿真平台 AirSim (1) - Unreal Engine


下一篇:Java基础语法<七> 对象与类