首页 > 编程语言 >渗透利器-kali工具 (第四章-3) Python数据结构学习

渗透利器-kali工具 (第四章-3) Python数据结构学习

时间:2024-12-10 14:29:34浏览次数:8  
标签:删除 Python kali 元素 列表 集合 数据结构 元组 字典

数据结构:拥有足够多的东西,需要一个存储东西的容器,数据越多,就会越重视数据结构的作用。

1.列表、元素、字典、集合:

  1.列表:[]

    1.列表最显著的特征是:

      1.列表中的每一个元素都是可变的;

      2.列表中的元素是有序的,也就是每一个元素都一个位置;

      3.列表可以容纳Python中的任何对象。

    2.列表的操作:

      1.insert() 插入,需要指定插入位置:

        在使用insert方法的时候,必须指定在列表中需要插入新的元素位置,插入元素的实际位置是在指定位置元素之前的位置。

        如果指定插入的位置在列表中不存在,实际上也就超出指定列表长度,那么这个元素一定会被放在列表的最后位置。

        举例:

          a = ['a','b','c']

          a.insert(1,'d')

        补充:

          a[0:0]=['e']

          也可以起到插入的效果。

      2.remove() 删除

        举例:

          a = ['a','b','c']

          a.remove('e')

        补充:[其余删除方式]

          del a[0:1]

          a[1]=e 也是可以说是修改

  2.字典:{}

    1.字典特征:

      1.字典中的数据必须是键值对的形式出现。

      2.逻辑上,键是不能重复的,而值可以重复。

      3.字典中的键[key]是不可变的,也就是无法修改的。

      4.字典中的值[auo]是可变的,可修改,可以是任何对象。

      举例:

        dict{'a':'bai','c':'hei','d':'red'}

      书写:字典的书写方式,键与值并不能脱离对方而存在。

    2.字典的操作:

      列表中有用来添加多个元素的方法extend(),在字典中也有对应的添加多个元素的方法:date();

      删除字典中的元素则使用del方法。

      注意:

        字典是不能够切片的。

        通过键对值进行操作:比如删除,输出等操作。

      1.添加字典:

        a = {'k1':1,'k2':2,'k3':3}

        a['k4'] = 4 添加单个键值对

        a.update({'k5':5,'k6':6}) 添加多个键值对

      2.删除字典:

        del a['key6'] 删除键值对,通过指定键删除

  3.元组:()

    1.元组的特征:

      1.元素其实可以理解成一个稳固版的列表,但是元组是不可修改的。

      2.因此在列表中存在的方法均不可以使用在元组上。

      3.但是元组是可以被查看索引的,方式和列表一样。

    2.元组的操作:

      举例:

        a = ('a','b','c')

        a[0]

 4.集合:()

    1.集合特征:

      1.集合则更接近数学集合的概念;

      2.每一个集合中的元素是无序的、不重复的任意对象。

      3.可以通过集合去判断数据的从属关系。

      4.可以通过稽核吧数据结构中重复的元素减掉。

      注意:集合不能被切片也不能被索引,除了做集合运算之外,集合元素就可以添加还有删除。

    2.集合的操作:

      举例:

        a = {1,2,3,4}

      1.添加:[add]

        a.add(5)

      2.删除:[discard]

        a.discard(4)

      2,数据结构的技巧:

  1.多种循环:

    1.多种循环:
      sorted函数按照长短、大小、英文字符的顺序给每个列表中的元素进行排序。

      这个函数会常在数据展示中使用,其中一个非常重要的地方,sorted函数不会改变列表本身,可以理解成是先将列表复制,然后在进行顺序整理。

      在列表过程中,如果同时需要两个列表应该怎么办?

      可以使用zip函数:

      格式:for a,b in zip (L1,L2):

      举例:

        a = [1,2,3,4]

        b = [1,4,5,6]

        for a,b in zip(a,b):

          print(b,'is',a)

  2.推导式:

    1.列表推导式:

      list = [i |  for i in a]

      列表推导式的用法很好理解,可以简单的看成两部分:

        从 | 后面是for循环表达式,| 前面可以让认为是我们想要放在列表中的元素。

      enumerate:循环列表时获取元素的索引。

      普通写法:

        a = []

        for i in range(1,5):     1-4

          a.append(i)

        print(a)

      推导式:

        a = {i:j for i,j in zip(range(1,5),'abcd,')}

        print(a)

        运行结果:{1:'a',2:'b',……4,'d'}

3,综合项目提升:

  1.将一句话,每个单词分开来:

    a = 'my name dddd'

    b = a.split()

    print(b)

    运行结果:['my','name','dddd']

  2.统计文章中单词出现的次数:

    代码:

1 import string
2 path = 'c/User/python/ww.txt'
3 with open(path ,'r') as text:
4   words = [raw_word.string(string.puncuation).lower() for raw_word in text.read().split()]
5   words_index = set(words)
6   counts_dict = {index:words.counts(index) for index in words_index}
7   for word in sorted(counts,key=lambda x:counts_dict[x],reverse=True):
8     print('{}--{} times'.format(word,counts_dict[word]))

标签:删除,Python,kali,元素,列表,集合,数据结构,元组,字典
From: https://blog.csdn.net/ztc131450/article/details/144373140

相关文章

  • 渗透利器-kali工具 (第四章-4) 学习python强大的第三方库
    Python第三方库的学习1,了解Python的第三方库:如果用手机来比喻变成语言,那么python是一款智能机,正如海量的手机应用处在IOS,Andriid平台上,同样有各种各样的第三方库为python开发者提供了极大的便利。当你想搭建网站时可以选择功能全面的Django,轻量Flask等Web框架;......
  • python毕设 礼物商城的设计与实践论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着互联网的发展,电子商务在各个领域迅速崛起。关于商城系统的研究,现有研究主要以综合性商城、特定商品类型的商城(如服装、食品商城等......
  • 软件测试笔记|数据库基础|通过python,如何导入数据库,并使用数据库表数据?
    VX公众Hao:阳哥整理软件测试笔记 以下是使用Python操作常见数据库(以MySQL为例)的基本步骤:首先,需要安装对应的数据库驱动程序。对于MySQL,通常使用pymysql库。可以通过pipinstallpymysql命令安装。1.连接数据库importpymysql#建立连接conn=pymysql.connect(  ......
  • python毕设 健身房管理系统程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于健身房管理系统的研究,现有研究主要以传统管理模式为主,专门针对利用Python开发健身房管理系统的研究较少。在国内外,虽然有许多管理......
  • python毕设 美食分享管理系统论文+程序
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景关于美食分享管理系统的研究,现有研究多以特定地区美食或通用美食分享平台为主,专门针对融合多种功能(如人群膳食、疾病调理等)的美食分享......
  • Python简化算法工具——“按位运算”
    一、六种常见的“按位运算”1.与(&)运算运算规则:对两个整数对应的二进制位进行操作,当两个相应的二进制位都为1时,该位的结果才为1,否则为0。a=5#0101b=7#0111print(a&b)#a&b=0101#输出对应的十进制数:52.或(|)运算运算规则:只要两个相应二进制位中有一个为1,该位的结果就为1......
  • 【数据结构与算法】回溯算法:LeetCode“排列问题” 求解,解释并模拟递归+回溯的遍历过程
      【作者自述:记录学习笔记,既然写了就让更多的人看到吧!欢迎大家关注交流学习,一步一个脚印持续更新!】【更多推荐笔记】【数据结构与算法】动态规划:解密“完全背包问题”的真相!附LeetCode四大问题的实现-CSDN博客【数据结构与算法】动态规划:解密“0-1背包问题”的真相!附LeetC......
  • WxPython跨平台开发框架之参数配置管理界面的设计和实现
    我曾经在2014年在随笔《Winform开发框架之参数配置管理功能实现-基于SettingsProvider.net的构建》介绍过基于.NET开发的参数配置管理界面,本篇随笔基于类似的效果,介绍在WxPython跨平台开发框架上使用LabelBook控件实现配置管理界面的效果。1、参数配置管理界面的特点和.NET实......
  • python给excel单元格批量生成超链接(panda+openpyxl)
    最近做些数据处理,要给Excel表单元格根据规则批量生成超链接,VBA看起来好麻烦,就还是用python处理了,选了一圈发现panda+openpyxl能较好满足需求。我需要根据表格1的【代码】【名称】列,调用函数生成链接到新表格的【链接1】【链接2】列:源文件:目标文件(含有链接):直接上代码。......
  • 数据结构6.4——归并排序
    基本思想:归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为,称为二路归并。核心思想:将两个已经排好序的数组,合成......