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 ...
随机推荐
- RfcConfig 类 主要解决Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986
tomcat 8.0以后对请求URL做了严格的过滤 就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z).数字(0-9).-_.~4 ...
- Python——Django-__init__.py的内容
一.告诉Django用pymysql来代替默认的MySQLdb(在__init__.py里) import pymysql #告诉Django用pymysql来代替默认的MySQLdb pymysql ...
- CODEVS 3546 矩阵链乘法
http://codevs.cn/problem/3546/ 题目 给定有n个要相乘的矩阵构成的序列(链)<A1,A2,A3,.......,An>,要计算乘积A1A2.....An.一组 ...
- saltstack之自动化运维
引入 简介 saltstack是由thomas Hatch于2011年创建的一个开源项目,设计初衷是为了实现一个快速的远程执行系统. 早期运维人员会根据自己的生产环境来写特定脚本完成大量重复性工作,这 ...
- git 操作命令详解
git 什么是git 开源的分布式版本控制系统, 用于高效的管理大小项目和文件 代码管理工具 防止代码丢失, 做备份 代码版本管控, 设置节点, 多版本切换 建立分支各自开发, 互不影响, 方便合并 ...
- Linux(Ubuntu)换apt-get源
在虚拟机安装完Ubuntu后,因为apt-get命令默认的服务器在国外会很慢,换成国内的会快很多 选一个国内镜像源,以清华大学开源镜像为例,要选对应的Ubuntu版本 网站链接https://mirr ...
- 深入理解JVM(3)——类加载机制
1.类加载时机 类的整个生命周期包括了:加载( Loading ).验证( Verification ).准备( Preparation ).解析( Resolution ).初始化( Initial ...
- 【Noip2015】斗地主
题目 #include<bits/stdc++.h> using namespace std; int pai[20],T; //pai[]统计牌的数量 int n; int ans; v ...
- Vue的钩子函数[路由导航守卫、keep-alive、生命周期钩子]
前言 说到Vue的钩子函数,可能很多人只停留在一些很简单常用的钩子(created,mounted),而且对于里面的区别,什么时候该用什么钩子,并没有仔细的去研究过,且Vue的生命周期在面试中也算是比 ...
- 网页三剑客之CSS
1.CSS概述 CSS中文简称层叠样式表(英文全称:Cascading Style Sheets),用来控制页面的表现,即使页面更好看的语言. 2.CSS基本语法和页面引用 2.1 css的定义方法 ...