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集合可以存储数据类型:不可变类型(数字,字符,元组)
未完待续》》
补充数据类型转换
python 2.7 数据结构: 基础面试总结的更多相关文章
- Python之数据结构基础
一.数据结构基础 a.什么是数据结构 b.数据结构的分类 c.列表 import random from timewrap import ...
- 2018传智黑马Python人工智能视频教程(基础+就业+面试)
2018传智黑马Python人工智能视频教程(基础+就业+面试) 2018传智黑马Python人工智能视频教程(基础+就业+面试) 2018传智黑马Python人工智能视频教程(基础+就业+面试) 下 ...
- python服务端工程师就业面试指导☝☝☝
python服务端工程师就业面试指导 由Python专业面试官打造的课,少之又少,专业代表着经验,代表着对考察点的通透理解,更代表着对你负责 第1章 Python工程师offer直通车(视频+教辅文档 ...
- 8.python笔记之面向对象基础
title: 8.Python笔记之面向对象基础 date: 2016-02-21 15:10:35 tags: Python categories: Python --- 面向对象思维导图 (来自1 ...
- Python运维开发基础-概述-简介
Python基础知识分为以下几块 1.Python概述 2.基础语法 3.数据结构 4.Python进阶 5.实训案例 一.Python概述 1.Python简介 2.Hello World 3.搭建 ...
- Python中的数据结构和算法
一.算法 1.算法的时间复杂度 大 O 记法,是描述算法复杂度的符号O(1) 常数复杂度,最快速的算法. 取数组第 1000000 个元素 字典和集合的存取都是 O(1) 数组的存取是 O(1) O( ...
- Python学习课程零基础学Python
python学习课程,零基础Python初学者应该怎么去学习Python语言编程?python学习路线这里了解一下吧.想python学习课程?学习路线网免费下载海量python教程,上班族也能在家自学 ...
- Python 中的数据结构总结(一)
Python 中的数据结构 “数据结构”这个词大家肯定都不陌生,高级程序语言有两个核心,一个是算法,另一个就是数据结构.不管是c语言系列中的数组.链表.树和图,还是java中的各种map,随便抽出一个 ...
- JAVA多线程和并发基础面试问答(转载)
JAVA多线程和并发基础面试问答 原文链接:http://ifeve.com/java-multi-threading-concurrency-interview-questions-with-ans ...
随机推荐
- python之路4-文件操作
对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 f = open('lyrics','r',encoding='utf-8') read_line = f.r ...
- DRF之版本控制、认证和权限组件
一.版本控制组件 1.为什么要使用版本控制 首先我们开发项目是有多个版本的当我们项目越来越更新,版本就越来越多,我们不可能新的版本出了,以前旧的版本就不进行维护了像bootstrap有2.3.4版本的 ...
- python基础----特性(property)、静态方法(staticmethod)、类方法(classmethod)、__str__的用法
http://www.cnblogs.com/wangyongsong/p/6750454.html#_label0
- 机器学习---文本特征提取之词袋模型(Machine Learning Text Feature Extraction Bag of Words)
假设有一段文本:"I have a cat, his name is Huzihu. Huzihu is really cute and friendly. We are good frie ...
- Django_rbac_demo 权限控制组件框架模型
rbac 权限控制组件 基于角色的权限控制 本质每个权限即为一个 URL 项目组件结构 表结构 Role (title, permission) -(ManyToManyField)- User ...
- nginx服务器的基本配置
nginx作为反向代理搭建服务器的优点. 处理响应请求很快:单次请求会得到更快的响应.在高峰期,Nginx 可以比其它的 Web 服务器更快的响应请求 高并发连接:理论上,Nginx 支持的并发连接上 ...
- Java中String连接性能的分析【转】
[转]http://www.blogjava.net/javagrass/archive/2010/01/24/310650.html 总结:如果String的数量小于4(不含4),使用String. ...
- Vue+koa2开发一款全栈小程序(9.图书详情页)
1.获取图书详情 1.修改server/controllers/bookdetail.js为 const {mysql}=require('../qcloud') module.exports=asy ...
- tarjan模板
tarjan #include <cstdio> #include <cstdlib> #include <cmath> #include <cstring& ...
- python集合(set)的运算
1.交集 In [1]: a = {1,2,3,4} In [2]: b = {3,4,5,6} In [3]: a & b Out[3]: {3, 4} In [4]: a.intersec ...