在.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
相关文章
|
2月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
使用Python实现深度学习模型:智能数据隐私保护
使用Python实现深度学习模型:智能数据隐私保护 【10月更文挑战第3天】
112 0
|
2月前
|
数据采集 JSON 数据处理
抓取和分析JSON数据:使用Python构建数据处理管道
在大数据时代,电商网站如亚马逊、京东等成为数据采集的重要来源。本文介绍如何使用Python结合代理IP、多线程等技术,高效、隐秘地抓取并处理电商网站的JSON数据。通过爬虫代理服务,模拟真实用户行为,提升抓取效率和稳定性。示例代码展示了如何抓取亚马逊商品信息并进行解析。
抓取和分析JSON数据:使用Python构建数据处理管道
|
18天前
|
机器学习/深度学习 数据处理 Python
SciPy 教程 之 SciPy 空间数据 7
本教程介绍了SciPy的空间数据处理功能,涵盖如何使用`scipy.spatial`模块进行点的位置判断、最近点计算等操作。还详细解释了距离矩阵的概念及其在生物信息学中的应用,以及汉明距离的定义和计算方法。示例代码展示了如何计算两个点之间的汉明距离。
26 1
|
21天前
|
存储 设计模式 编解码
.NET 8.0 通用管理平台,支持模块化、WinForms 和 WPF
【11月更文挑战第5天】本文分析了.NET 8.0 通用管理平台在模块化、WinForms 和 WPF 方面的优势。模块化设计提升了系统的可维护性和可扩展性,提高了代码复用性;WinForms 提供了丰富的控件库和简单易用的开发模式,技术成熟稳定;WPF 支持强大的数据绑定和 MVVM 模式,具备丰富的图形和动画功能,以及灵活的布局系统。
|
21天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
27 1
|
22天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
22天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
|
2月前
|
数据处理 Python
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
这篇文章介绍了如何使用Python读取Excel文件中的数据,处理后将其保存为txt、xlsx和csv格式的文件。
52 3
Python实用记录(十):获取excel数据并通过列表的形式保存为txt文档、xlsx文档、csv文档
|
2月前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
44 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
|
2月前
|
数据可视化 算法 Python
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析
本文介绍了如何利用Python脚本结合动态模态分解(DMD)技术,分析从OpenFOAM模拟中提取的二维切片数据,以深入理解流体动力学现象。通过PyVista库处理VTK格式的模拟数据,进行POD和DMD分析,揭示流场中的主要能量结构及动态特征。此方法为研究复杂流动系统提供了有力工具。
80 2
基于OpenFOAM和Python的流场动态模态分解:从数据提取到POD-DMD分析