在.NET外散步之我爱贪吃蛇Python -常见数据结构(新浪和百度云平台即将推出Python免费空间)

简介: 新浪的http://cloudbbs.org/forum.php?mod=viewthread&tid=2762&extra=page%3D1 百度的http://tieba.baidu.
   新浪的http://cloudbbs.org/forum.php?mod=viewthread&tid=2762&extra=page%3D1
   百度的http://tieba.baidu.com/p/1605220585
Python常见的数据类型有以下这么几种
   Sequence Types — str, unicode, list, tuple, bytearray, buffer, xrange) !!!!
   刚开始接触时,总是在类比这个数据结构是c#里面的什么呢或者向c#里面的什么呢,左边折腾一下右边折腾一下,发现Python的数据结构和c#里面的数据结构没有什么相似的地方,
想借鉴一下c#的概念理解一下也不行,Python里面竟然连数组这个概念都没有,是在令人非常费解,开始还以为没有找到数组,后来发现结构体也没有,偷鸡不成。。。。

序列

   Python里面最基础的数据结构为序列,序列主要有两个常用操作就是索引操作和切边操作,非常灵活,列表、元组、字符串都是序列

索引操作和切边操作都按照下面这个编号进行

 +---+---+---+---+---+
 | H | e | l | p | A |
 +---+---+---+---+---+
 0   1   2   3   4   5
-5  -4  -3  -2  -1
 
 
 
# -*- coding: utf8 -*-
 
if __name__ == '__main__':
    shoplist3=["a","b","c","d","e",1,2,3,4,5,6,7]
    #序列相关
    print(shoplist3)
    print(len( shoplist3))
    
    #按照索引操作
    print(shoplist3[3])
    shoplist3[3]="dddddddddddddddddddddddd"
    print(shoplist3[3])
    
    #按照切片操作
    print(shoplist3[:])
    print(shoplist3[1:3])
    print(shoplist3[:-1])
    print(shoplist3[-3:-1])
    print(shoplist3[2:-1])
    print(shoplist3[3][0])
    
    #字符串作为序列操作
    print("=====================")
    helpa="helpa"
    print(helpa[1:3])
    print(helpa[-4:-2])
    print("=====================")
    
    #序列作为栈
    shoplist3.append("xxxxxxxxxx")
    print(shoplist3)
    shoplist3.pop()
    print(shoplist3)
    
    print("=====================")    
    #序列作为队列
    from collections import deque
    queue = deque(["Eric", "John", "Michael"])
    #deque 表示费解改个名字就不对了
    queue.append("Terry")
    queue.append("Graham")
    print(queue)
    queue.popleft()
    print(queue)
    
 

序列本身可以作为栈来操作,还可以转化为队列进行操作

元组

      开始觉得Python没有常量这个概念太离谱了,遇到元组,发现元组就是天生的常量类型,元组是也属于序列,支持索引和切片

    zoo=("aaaaaaaaaaaaaaaaaaaaaaaaaaaaa","b","c","d",1,2,3,4)
    print(zoo)
    print(len(zoo))
    print(zoo[4])
    #zoo[4]=100000   
    #果然是不可以改变值 也不可以改变大小,
    #可用来模拟 常量 
    print(zoo[0])
    print(zoo[0][4])

Sets

   Sets 也是Python的一种数据类型而且支持一些运算

     a = set('abracadabra')
    print(a)
    print("a" in a)
    b = set('alacazam')
    
    print(a - b )
    # letters in a but not in b
    print(a | b )
    # letters in either a or b
    print(a & b )
    # letters in both a and b
    print(a  ^ b )
    # letters in a or b but not both

 

 

字典

Python中和c# 中最相似的就是字典这个概念操作也差不多

#字典
    hashtable={
               "a":"aaaaaaaaaaaaaaaaaaa",
               "b":"bbbbbbbbbbbbbbbbbbbb",
               "c":"ccccccccccccccccccccc",
               "d":"dddddddddddddddddddddd",
               1:2,
               "e":"eeeeeeeeeeeeeeeeeeeeeeeeee"
               
               }
    print(hashtable)
    hashtable["f"]="fffffffffffffffffffffffffffffff"
    print(hashtable)
    #不支持通过坐标访问 只支持通过key来访问
    #print(hashtable[0])
    print(hashtable["a"])  
    for key, value in hashtable.items():
        print(key)
        print(value)
    #help(hashtable)

另外还有一个声称序列的方法range 可以生成指定范围内的序列

 print("===========================")
    print(range(10))#范围0~9
    print(range(3,13))#范围3~12 range([start], stop[, step])
    print(range(0,30,5))#步长5
    print(range(0,10,3))#步长5
    print("===========================") 
    #print(xrange(0,10)) Y的怎么没反应呢?????
    print(u"汉字汉字汉字汉字汉字汉字汉字汉字汉字汉字汉字汉字")
test
相关文章
|
3月前
|
数据可视化 关系型数据库 MySQL
基于python大数据的的海洋气象数据可视化平台
针对海洋气象数据量大、维度多的挑战,设计基于ECharts的可视化平台,结合Python、Django与MySQL,实现数据高效展示与交互分析,提升科研与决策效率。
|
3月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
540 0
|
5月前
|
API 开发工具 开发者
【干货满满】电商平台API接口用python调用脚本
这是一个支持淘宝、京东、拼多多、亚马逊等主流电商平台的通用 API 调用 Python 脚本框架,适配 doubao 使用。脚本封装了签名验证、请求处理、异常捕获及限流控制等核心功能,提供统一接口调用方式,便于开发者快速集成与扩展。
|
6月前
|
缓存 监控 API
1688平台开放接口实战:如何通过API获取店铺所有商品数据(Python示列)
本文介绍如何通过1688开放平台API接口获取店铺所有商品,涵盖准备工作、接口调用及Python代码实现,适用于商品同步与数据监控场景。
|
存储 算法 C++
【C++数据结构——查找】二分查找(头歌实践教学平台习题)【合集】
二分查找的基本思想是:每次比较中间元素与目标元素的大小,如果中间元素等于目标元素,则查找成功;顺序表是线性表的一种存储方式,它用一组地址连续的存储单元依次存储线性表中的数据元素,使得逻辑上相邻的元素在物理存储位置上也相邻。第1次比较:查找范围R[0...10],比较元素R[5]:25。第1次比较:查找范围R[0...10],比较元素R[5]:25。第2次比较:查找范围R[0..4],比较元素R[2]:10。第3次比较:查找范围R[3...4],比较元素R[3]:15。,其中是顺序表中元素的个数。
535 68
【C++数据结构——查找】二分查找(头歌实践教学平台习题)【合集】
|
存储 C语言 C++
【C++数据结构——栈与队列】顺序栈的基本运算(头歌实践教学平台习题)【合集】
本关任务:编写一个程序实现顺序栈的基本运算。开始你的任务吧,祝你成功!​ 相关知识 初始化栈 销毁栈 判断栈是否为空 进栈 出栈 取栈顶元素 1.初始化栈 概念:初始化栈是为栈的使用做准备,包括分配内存空间(如果是动态分配)和设置栈的初始状态。栈有顺序栈和链式栈两种常见形式。对于顺序栈,通常需要定义一个数组来存储栈元素,并设置一个变量来记录栈顶位置;对于链式栈,需要定义节点结构,包含数据域和指针域,同时初始化栈顶指针。 示例(顺序栈): 以下是一个简单的顺序栈初始化示例,假设用C语言实现,栈中存储
576 77
|
10月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
10月前
|
机器学习/深度学习 数据采集 数据可视化
Python/Anaconda双方案加持!Jupyter Notebook全平台下载教程来袭
Jupyter Notebook 是一款交互式编程与数据科学分析工具,支持40多种编程语言,广泛应用于机器学习、数据清洗和学术研究。其核心优势包括实时执行代码片段、支持Markdown文档与LaTeX公式混排,并可导出HTML/PDF/幻灯片等格式。本文详细介绍了Jupyter Notebook的软件定位、特性、安装方案(Anaconda集成环境与原生Python+PIP安装)、首次运行配置及常见问题解决方案,帮助用户快速上手并高效使用该工具。
|
存储 C++
【C++数据结构——树】哈夫曼树(头歌实践教学平台习题) 【合集】
【数据结构——树】哈夫曼树(头歌实践教学平台习题)【合集】目录 任务描述 相关知识 测试说明 我的通关代码: 测试结果:任务描述 本关任务:编写一个程序构建哈夫曼树和生成哈夫曼编码。 相关知识 为了完成本关任务,你需要掌握: 1.如何构建哈夫曼树, 2.如何生成哈夫曼编码。 测试说明 平台会对你编写的代码进行测试: 测试输入: 1192677541518462450242195190181174157138124123 (用户分别输入所列单词的频度) 预
478 14
【C++数据结构——树】哈夫曼树(头歌实践教学平台习题) 【合集】

推荐镜像

更多