精华内容
下载资源
问答
  • Python序列-列表对象创建/增加/删除

    千次阅读 2019-05-30 06:32:05
    列表 列表用于存储任一数目,任一类型的数据集合 列表是内置可变序列,是包含多个元素的有序连续的内存空间。列表定义标准格式a=[10,20,30,40] 其中,10,20,30,40这些成为:列表a的元素 列表中的元素可以不...

    列表

           列表用于存储任一数目,任一类型的数据集合

           列表是内置可变序列,是包含多个元素的有序连续的内存空间。列表定义标准格式a=[10,20,30,40]

           其中,10,20,30,40这些成为:列表a的元素

           列表中的元素可以不相同,可以任意类型。例如:a=[10,20.2,’abc’,’True’]

    列表方法:增加元素、删除元素、访问元素、计数元素、统计元素等

    注意:JAVA列表不可变

    字符串和列表都是序列类型,一个字符串是一个字符序列,一个列表是任何元素的序列

    列表对象的创建

    基本语法[]创建

    >>> a = [20,30,40,'abc']

    >>> a[0]

    20

    >>> a = []   #创建一个空的列表对象

    >>> a.append(20)

    >>> a

    [20]

    >>>

    List()创建

    List()可以将任何可迭代的数据转换成列表

    >>> a = list()  创建空列表对象

    >>> a = list(range(10))

    >>> a

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    >>> a = list("spy.txt")

    >>> a

    ['s', 'p', 'y', '.', 't', 'x', 't']

    >>>

    Range创建整数列表

    Range(start,end,step)

    >>> list(range(10))

    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

    >>> list(range(2,10,2))

    [2, 4, 6, 8]

    >>> list(range(2,-10,-2))

    [2, 0, -2, -4, -6, -8]

    >>>

    推导式生成列表(重点for循环和if语句)

    >>> a = [x*2 for x in range(5)]

    >>> a

    [0, 2, 4, 6, 8]

    >>> a = [x*2 for x in range(100) if x%9 == 0]

    >>> a

    [0, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198]

    >>>

    列表元素的增加和删除

           当列表增加和删除元素时,列表会自动进行内存管理,大大减少了程序员的负担,但这个特点涉及列表元素的大量移动,效率极低。除非必要,我们一般只在列表尾部添加元素和删除元素,这会大大提高列表的操作效率

     

    Append()

    +运算符操作

    并不是真正的尾部添加元素,而是创建新的列表对象;将原列表的元素和新列表的元素一次复制到新的列表对象中。这样,会涉及大量的复制操作,对操作大量元素不建议使用

    Extend()

    将目标列表的所有元素添加到本列表的尾部,原地址操作,不创建新的列表对象

    Insert()

    使用insert()方法可以将制定的元素插入到列表列表对象的任意制定位置。这样会让插入位置后面的元素进行移动,会影响处理速度。涉及大量元素时,尽量避免使用。类似发生这样移动的函数还有:remove()/pop()/del(),他们在删除非尾部元素时也会发生操作位置后面元素的移动

    >>> a=[20,40]

    >>> a.append(50)

    >>> a

    [20, 40, 50]

    >>> id(a)

    2503763485896

    >>> a = a+[60]

    >>> a

    [20, 40, 50, 60]

    >>> id(a)

    2503763485256

    >>>

    >>> a

    [20, 40, 50, 60]

    >>> id(a)

    2503763485256

    >>> a.extend([70,80])

    >>> a

    [20, 40, 50, 60, 70, 80]

    >>> id(a)

    2503763485256

    >>>

    >>> a.insert(2,55)

    >>> a

    [20, 40, 55, 50, 60, 70, 80]

    >>> id(a)

    2503763485256

    >>>

    乘法扩展

    使用乘法扩展列表,生成一个新的列表,新列表元素是原列表元素的多次重复

    >>> a='sxt'*3

    >>> a

    'sxtsxtsxt'

    >>> a=[20,30]*3

    >>> a

    [20, 30, 20, 30, 20, 30]

    >>>

    列表元素的删除

    删除的原理实质是数组元素的copy,

    Dle删除

    删除列表指定位置的元素

    Pop删除

    Pop()删除并返回指定位置的元素,未指定位置删除最后一个元素

    Remove()方法

    删除首次出现的指定元素,若不存在该元素抛出异常

    >>> a = [10,20]

    >>> del a[1]

    >>> a

    [10]

    >>> del a

    >>> a

    >>> a = [10,20,30,40,50]

    >>> a.pop()

    50

    >>> a

    [10, 20, 30, 40]

    >>> a.pop(1)

    20

    >>> a

    [10, 30, 40]

    >>>

    >>> a = [10,20,30,20,20]

    >>> a.remove(20)

    >>> a

    [10, 30, 20, 20]

    >>> a.remove(100)

    Traceback (most recent call last):

      File "<pyshell#14>", line 1, in <module>

        a.remove(100)

    ValueError: list.remove(x): x not in list

    >>>

    >>> a = ['a','spy','b','spy','spy']

    >>> a.remove('spy')

    >>> a

    ['a', 'b', 'spy', 'spy']

    >>> a.remove(20)

    Traceback (most recent call last):

      File "<pyshell#18>", line 1, in <module>

        a.remove(20)

    ValueError: list.remove(x): x not in list

    >>>

    展开全文
  • 本内容主要介绍如何在列表中去动态获取对象详情: 1.先展示列表内容: 列表内容仍然是通过数据绑定和聊表渲染来实现,wx:for的一系列参数设置。 &amp;amp;lt;block wx:for=&amp;quot;{{personList}}&...

    先上效果图展示

    在这里插入图片描述

    在这里插入图片描述

    本内容主要介绍如何在列表中去动态获取对象详情:
    1.先展示列表内容:
    列表内容仍然是通过数据绑定和聊表渲染来实现,wx:for的一系列参数设置。

    <block wx:for="{{personList}}" wx:key="" wx:for-item="item">
      <view class="nav_right_items" bindtap='goDetail' data-index="{{index}}" data-id="{{item.pf_id}}">
        <!--界面跳转 -->
        <image src="{{personImg}}"></image>
        <text>{{item.pf_name}}</text>
        <!-- <text>{{item.pf_id}}</text> -->
      </view>
    </block>
    

    跳转函数方法goDetail,跳转过去的对象ID就是item.pf_id,点击对象就是index
    当然这个也可以设置为navigator跳转,区别是navigator是在链接内加上参数组合传递给页面,这样适用于写死的内容。
    2.鉴于是动态获取,自然要请求后台数据:

    goDetail: function(ev) {
       var that = this;
       var e = ev.currentTarget.dataset.id;
       console.log("++++++",ev,that)
       wx.setStorageSync("people_id", e), wx.navigateTo({
         url: "../detail/detail"
       })
     },
    

    这里边将列表对象id存储为缓存数据,发送给下一个页面来获取。一定要通过打印 console.log("++++++",ev,that)。来测试数据是否获取到是否存储到。
    在对象详情页可以这样展示:

    require("../../utils/util.js"), getApp();
    Page({
    data: {
      name: "",
      sex: "",
      birthday: "",
      post: "",
      address: "",
      addtime: "",
      phone: "",
      identityCard: "",
      schools: "",
      pspecialty: "",
      diploma: "",
      workingState: "",
      entrytime: "",
      worktime: ""
    },
    onLoad: function(e) {
      var t = this,
        a = wx.getStorageSync("session_uid"),
        i = wx.getStorageSync("people_id");
      console.log("--------",i,e,a)
      wx.request({
        url: "https://xxxxxxxxxxxxx.com/wx/userinfo/",
        data: {
          pf_id: i,
          Cookie: a
        },
        method: "POST",
        header: {
          "Content-Type": "application/x-www-form-urlencoded"
        },
        success: function(e) {
          console.log("员工数据", e.data.data);
          var a = e.data.data;
          t.setData({
            name: a.pf_name,
            sex: a.pf_sex,
            birthday: a.pf_birthday,
            post: a.m_id_post,
            address: a.pf_address,
            addtime: a.pf_addtime,
            phone: a.pf_phone,
            identityCard: a.pf_identityCard,
            schools: a.pf_schools,
            diploma: a.m_id_diploma,
            pspecialty: a.pf_specialty,
            workingState: a.pf_workingState.state_name,
            entrytime: a.pf_entrytime,
            worktime: a.worktime
          })
        },
        fail: function(e) {}
      })
    },
    onReady: function() {},
    onShareAppMessage: function() {}
    });
    

    通过点击时传递的参数ID来发送请求信息,到服务器获取到对象的所有信息后存储下来拿到前端页面,展示对应的。根据后台人员设置的字段来传递对应字段参数。
    最终就能拿到对象的动态信息。

    在这里插入图片描述在这里插入图片描述

    展开全文
  • 如果Spring Boot中对应的Controller要接收一个对象,该对象中又存放了一个List列表,那么页面该如何传递相关应的参数信息呢。 本篇文章给大家一个简单的示例,提供一种实现方式。 实体类 首先看实体类的结构(注意...

    如果Spring Boot中对应的Controller要接收一个对象,该对象中又存放了一个List列表,那么页面该如何传递相关应的参数信息呢。

    本篇文章给大家一个简单的示例,提供一种实现方式。

    实体类

    首先看实体类的结构(注意使用了Lombok):

    @Data
    public class Rules {
    	private List<Rule> rules;
    }
    

    对应Rule实体类代码如下:

    @Data
    public class Rule {
    
    	/**
    	 * 类名
    	 */
    	private String className;
    
    	/**
    	 * 字段名称
    	 */
    	private String column;
    
    	/**
    	 * 操作符
    	 */
    	private String operate;
    
    	/**
    	 * 对应值
    	 */
    	private String value;
    }
    

    对应Controller方法

    @Controller
    public class ManagerRulesController {
    
    	@PostMapping("/rules/add")
    	public String addDrl(Rules rules) {
    		
    		if (rules != null) {
    			List<Rule> ruleList = rules.getRules();
    			
    			for (Rule rule : ruleList) {
    				// 具体业务处理
    			}
    		return "result";
    	}
    }	
    

    对应页面呈现

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>规则页面管理页面</title>
        <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.4.1/dist/css/bootstrap.min.css"/>
    </head>
    <body class="container">
    <h4>页面拼接模式</h4>
    
    <form method="post" action="/rules/add">
        <#--第一条条件-->
        <div id="condition-0">
            <div class="form-group">
                <label>金额:</label>
                <input type="hidden" name="rules[0].column" value="amount">
                操作属性操作:
                <select class="form-control" name="rules[0].operate">
                    <option value=">">大于</option>
                    <option value="<">小于</option>
                </select>
                属性值:
                <input type="text" class="form-control" name="rules[0].value" placeholder="输入值"  value="1">
            </div>
        </div>
        <div id="condition-1">
            <div class="form-group">
                <label>金额:</label>
                <input type="hidden" name="rules[1].column" value="amount">
                操作属性操作:
                <select class="form-control" name="rules[1].operate">
                    <option value="<">小于</option>
                    <option value=">">大于</option>
                </select>
                属性值:
                <input type="text" class="form-control" name="rules[1].value" placeholder="输入值"  value="100">
            </div>
        </div>
        <button type="submit" class="btn btn btn-info">提交</button>
    </form>
    
    </body>
    
    </html>
    

    注意要提交的页面元素的name值为“rules[1].column”。通过这种形式来指定列表中的第几个元素的具体属性值是什么。

    精品SpringBoot 2.x视频教程

    《Spring Boot 2.x 视频教程全家桶》精品Spring Boot 2.x视频教程,打造一套最全的Spring Boot 2.x视频教程。


    程序新视界

    公众号“程序新视界”,一个让你软实力、硬技术同步提升的平台

    csdn-微信公众号

    展开全文
  • Redis列表(list)对象

    千次阅读 2018-07-10 17:01:38
    Redis列表(list)对象 1.Redis中list的存储底层结构有那些呢? 答:list数据结构底层使用了ziplist(压缩列表)和linkedlist(队列)两种数据结构来存储数据。 2.ziplist这种数据结构只有list对象使用吗? 答:...

    Redis列表(list)对象

    1. Redis中list的存储底层结构有那些呢?

    答:list数据结构底层使用了ziplist(压缩列表)和linkedlist(队列)两种数据结构来存储数据。

    2. ziplist这种数据结构只有list对象使用吗?

    答:redis中list和hash类型的数据存储都使用到了ziplist作为底层实现之一。

    3. list什么情况下才会使用ziplist存储数据呢?

    答:当list中只包含少量的数据(数量小于512),并且每个数据要么是小整数值或者是长度比较短的字符串(长度小于64字节),那么Redis就会使用ziplist作为list的底层数据实现。那么如果list中的数据不满足以上两个条件的时候,就会将数据存储到linkedlist实现中。当然512和64字节这两个参数可以在配置文件中修改list-max-ziplist-value和list-max-ziplist-entries参数。

     

    4.ziplist对象的结构是怎样的呢?

    答:ziplist是Redis为了节约内存而开发的,是由一系列特殊编码的连续内存块组成的顺序型数据结构。一个ziplist可以包含任意多个列表节点(entry),每个节点可以保存一个字节数组或者一个整数值。结构如下:

     

    5.ziplist和linkedlist分别存储数据值怎样的格式呢?

    答:例如执行RPUSH numbers 1 “three” 5。

    1)如果numbers使用ziplist这个编码存储,那么这个值对象将会如下图所示:

     

    2)如果使用linkedlist编码,每个双端链表节点(node)都保存了一个字符串对象(字符串对象介绍:https://blog.csdn.net/sinat_32366329/article/details/80624529 和 https://blog.csdn.net/sinat_32366329/article/details/80940697),而每个字符串对象都保存了一个列表元素:

    关注微信公众号(程序员小兔)不定期分享技术

    展开全文
  • Java实现对象列表排序

    千次阅读 2019-03-22 17:19:35
    Java实现多个对象排序(两种方式) 如果是Java自定义的对象,需要对多个对象进行排序,这里使用Java自身提供的排序函数Collections.sort();但是我们的对象需要支持这个函数,需要做一些改动。有两种方式实现,第一种...
  • Python列表排序 list.sort方法和内置函数sorted

    万次阅读 多人点赞 2019-05-18 15:17:54
    Python列表排序 list.sort方法和内置函数sorted 很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表. 这时候就可以使用list.sort方法和内置函数sorted,本文就是介绍list....
  • Python中对列表插入对象的方法总结

    千次阅读 2020-02-13 13:39:25
    列表末尾添加新的对象列表末尾一次性追加另一个序列中的多个值 将对象插入列表中的指定位置 一、在列表末尾添加新的对象 参数为一个对象: list1=['星星','月亮'] list1.append("太阳") print(list1) ['星星'...
  • SpringBoot加载yml 复杂对象列表

    千次阅读 2019-08-18 16:44:22
    user: list: - username: user1 password: 132456 - username: user222 password: 132456 @Component @ConfigurationProperties(prefix = "user") public class UserConfig { ...
  • Jackson json数组转成对象列表

    千次阅读 2019-09-09 11:41:50
    java class: class Apple { String color; String price; // getter setter } json body: [ { "color":red", "price":"10" }. { "color":green", "price":"12" ...ObjectMapper mapper = new Obje...
  • 属性List = 对象List.stream().map(对象::get方法()).collect(Collectors.toList()); 例如: List<Integer> idList = list.stream().map(User::getId).collect(Collectors.toList()); List<In...
  • java对象数组 创建对象数组,初始化对象数组

    万次阅读 多人点赞 2019-07-30 16:34:15
    对象数组的概念: 如果一个数组中的元素是对象类型,则称该数组为对象数组。 当需要一个类的多个对象时,应该用该类的对象数组来表示,通过改变下标值就可以访问到不同的对象对象数组的定义和使用: 对象数组的...
  • 属性List = 对象List.stream().map(对象::get方法()).collect(Collectors.toList()); 例如: List<Integer> idList = list.stream().map(User::getId).collect(Collectors.toList()); //或者 ...
  • HTML5教程之FileList文件列表对象的应用 在过去,上传文件的时候,我们每次都只能一次选择一个文件。如果想实现多文件上传,要么动态的增加file框要么使用Flash来代替。现在我们在HTML5中要想实现这个功能,是...
  • Delphi 对象列表使用

    千次阅读 2014-08-19 10:53:28
    然后下面以一个简单的列子说明一下,示例:是创建多个TstringList对象,将每个对像放入对象列表中,对每个对象赋值,最后将每个对象值显示在memo中。 unit Unit5;   interface   uses  ...
  • 1.如果json是List对象转换的,可以直接遍历json,读取数据。 2.如果是需要把前端的List对象转换为json传到后台,param是ajax的参数,那么转换如下所示: ? 1 2 3 var jsonStr = JSON.stringify(list...
  • 微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文: 这里我用微信小程序商城开发中选择商品规格选择做示例: 先把效果图让大家看看, 默认情况下是这样的 当点击了规格11以后: 该商品...
  • 列表中的对象源于类 class Interval: def __init__(self, s=0, e=0): self.start = s self.end = e intervals = [i1,i2,......,] #i是Interval的对象 排序方法一:导入functools包 import functools def cmp.....
  • 筛选出列表Ldata中小于0的元素 Ldata = [1, 2, 3, 4, 5, 6, -1, -2] # a.使用匿名函数lambda和filter函数 # lambda x: 匿名函数, 参数(依次迭代列表中的每一个参数) 返回Boolean值 res1 = list(filter(lambda x: ...
  • js遍历对象列表方法

    千次阅读 2013-07-26 10:06:59
    通过jquery ajax获取对象列表 /** * 根据省份id获取城市列表 */ function getcity(provinceId){ var forReturn; $.ajax({ type:"POST", url:"${webroot}/app/getDivisionBySid/"+provinceId, async:false,...
  • 对象Message{String msgNo,int fee} ListA,ListB分别有上亿条,如何对比返回两个list中msgNo相同,fee不同的对象diffFeeList;msgNo及fee均相同的sameList,ListA中msgNo在ListB中不存在的onlyExistAList,ListB中...
  • python语言基础 -- 可迭代对象的遍历

    千次阅读 2019-06-14 00:30:30
    如字符串、元祖、列表、集合、字典等等。 遍历 通过for xxx in xxx的语法结构可以遍历所有的可迭代对象。 字符串的遍历 mystr = 'hello python' for s in mystr: print(s) #输出结果: h e l l o p y t h o ...
  • R语言 列表

    千次阅读 2020-04-04 11:08:56
    列表允许整合若干(可能无关的)对象到单个对象名下。 例如,某个列表中可能是若干向量、矩阵、数据框,甚至其他列表的组合。同一个列表中的向量、矩阵和数组的元素必须是同一类型数据。一个数据对象若包含不同的...
  • Python中可变对象和不可变对象

    千次阅读 2017-02-13 12:56:21
    之前写了FPGrowth的代码,写得非常恶心,觉得和C语言、C++的工程文件很不相同。其中就有关于传引用、传值的疑问。截一段Leetcode的代码这题好像是Leetcode ...经过查看资料我就知道这和命名域以及可变对象和不可变对象
  • YuanGong.java 对象有以下属性 private int id; private String name; private String sal; private String sex; private Person person; private List&lt;Person&gt; pList; Person.java对象 ...
  • Python中列表元素删除

    万次阅读 2017-06-06 11:50:32
    Python中列表元素的删除方式 del命令删除 列表的pop()方法删除 以及列表对象的remove()方法删除
  • Python中空列表的布尔值判断

    万次阅读 2017-12-13 17:41:22
    由上图可知,空列表的布尔值为False,但是空列表中如果有个None,那么布尔值为True,列表的布尔值判断只针对列表中的元素,若元素为空,才是False。
  • Python列表的切片操作与元素访问详解

    万次阅读 多人点赞 2018-11-23 22:54:10
    看似很简单,其实门道很多,而且随着所学的序列越来越多后,比如字符串、列表、元组、字典、一维数组、多维数组、Series、DataFrame,渐渐的脑子就会混乱,所以打算梳理一下。方便之后自己查找。 其他序列可以参看...
  • Python杂谈 | (1)Python列表合并、去重和排序

    万次阅读 多人点赞 2018-10-13 14:10:27
    目录   一.... 二.... 三....四....五....一....1.列表对象的append()可以将元素追加到列表中。...2.列表对象的append()可以将另一个列表追加到当前列表中,作为当前列表的一个元素。 二.列表合并--extend() 与append()不同,e...
  • List列表按照对象进行排序

    千次阅读 2017-07-17 10:29:18
    在某些业务场景下需要根据list列表对象的字段进行排序。今天就以实例说明:实体类public class Product { private int discount; // 省略getter/setter方法 }排序测试类public class TestSortList { @Test ...
  • 《Python程序设计》判断题1-240题

    万次阅读 多人点赞 2020-03-30 21:13:24
    (错) 93、列表对象的extend()方法属于原地操作,调用前后列表对象的地址不变。(对) 94、正则表达式模块re的match()方法是从字符串的开始匹配特定模式,而search()方法是在整个字符串中寻找模式,这两个方法如果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,639,103
精华内容 655,641
关键字:

列表对象