python基础知识——内置数据结构(列表)

python基础知识——内置数据结构(列表)

列表是python中使用较多的一种数据结构,通常是作为函数的返回类型。相比较于元组,列表中的元素是可以修改的,可以实现添加、删除和查找的操作。

1、列表的创建

格式

list_name = [元素1, 元素2, ...]


例如

list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']

print list_1


2、列表同样支持元组中的方法

  1. 索引访问
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']

print list_1 [1]#shanghai


  1. 负数索引
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']

print list_1 [-2]#nanjing


  1. 分片
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']

list_slice = list_1 [1:3]#['shanghai', 'nanjing']
print list_slice


  1. 多元列表
list_1 = ['beijing', 'shanghai']
list_2 = ['nanjing', 'wuhan']

list_3 = [list_1, list_2]

print list_3 [0][1]#shanghai


  1. 遍历
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']

for x in range(len(list_1)):
      print list_1 [x]


  1. 另一种遍历方法
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']

for x in list_1:
      print x#x取出的就是list_1中的元素


 3、列表中的其他方法

www.zeeklog.com  - python基础知识——内置数据结构(列表)


  1. append方法用于在一个列表后增加一个对象,该对象可以是元组、列表、字典或者任何对象。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']

list_1.append('guangzhou')
#['beijing', 'shanghai', 'nanjing', 'wuhan', 'guangzhou']
print list_1


  1. insert方法用于在指定位置处插入一个对象。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_1.insert(2, 'guangzhou')
#['beijing', 'shanghai','guangzhou', 'nanjing', 'wuhan']
print list_1


  1. remove方法用于删除列表中首次出现的value值。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan', 'shanghai']
list_1.remove('shanghai')
#['beijing', 'nanjing', 'wuhan', 'shanghai']
print list_1


  1. pop方法有两个用处,第一有index删除index处的值;第二没有index删除末尾的元素。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan', 'shanghai']
list_1.pop(1)#有index索引
#['beijing', 'nanjing', 'wuhan', 'shanghai']
print list_1

list_1.pop()#无index索引
#['beijing', 'nanjing', 'wuhan']
print list_1


  1. extend将iterable指定的元素添加到列表的末尾,与append方法的区别是指定的元素,而非对象。
#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_2 = ['guangzhou', 'HongKong']
list_1.extend(list_2)
#['beijing', 'shanghai', 'nanjing', 'wuhan', 'guangzhou', 'HongKong']
print list_1

可以使用的等价方法:“+”或者“+=”。

#coding:UTF-8
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_2 = ['guangzhou', 'HongKong']
list_1 = list_1 + list_2
#['beijing', 'shanghai', 'nanjing', 'wuhan', 'guangzhou', 'HongKong']
print list_1


  1. index方法用于索引,返回的是value所在的index。
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
print list_1.index('nanjing')#2


  1. sort方法用于列表的排序,对字符串的排序使用的是字典排序。
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_1.sort(cmp=None, key=None, reverse=False)
print list_1#['beijing', 'nanjing', 'shanghai', 'wuhan']


  1. reverse方法用于列表的翻转。
list_1 = ['beijing', 'shanghai', 'nanjing', 'wuhan']
list_1.reverse()
#['wuhan', 'nanjing', 'shanghai', 'beijing']
print list_1

Read more

ActiveMQ学习总结(9)——Linux中安装ActiveMQ

ActiveMQ学习总结(9)——Linux中安装ActiveMQ

1.新建一个文件夹activeMQ     mkdir /server   2.授权      chmod 777 /server   3.下载activeMQ安装包,拷贝到/activeMQ目录下   apache-activemq-5.6.0-bin.tar.gz,下载地址   4.解压文件到运行目录/activeServer   tar -xzvf /server/apache-activemq-5.6.0-bin.tar.gz   5.修改activemq运行文件的权限    cd /server/apache-activemq-5.6.2/bin    chmod 755 activemq    运行./activemq   6.运行   三种运行方式:   (1)普通启动 ./activemq start

By Ne0inhk
AB ? Angelababy ? 噢不,拒绝老板拍板决策的神器 !用数据说话的决策实验平台 —— AbTest !

AB ? Angelababy ? 噢不,拒绝老板拍板决策的神器 !用数据说话的决策实验平台 —— AbTest !

文章目录 * * * * * AB ? Angelababy ? 噢不,拒绝老板拍板决策的神器 !用数据说话的决策实验平台 —— AbTest ! 在工作中,你们部门的决策权是否被老板紧紧掌控?而决策背后的实际责任却被部门所有人承担? 拒绝老板拍板决策!用 AbTest 数据说话 ! 运营方式由增长转型至精细化 随着互联网下半场的到来「注,互联网何为下半场 - 见 -」,互联网用户趋近饱和。 各大公司的运营方向逐步由以增长为主转型为精细化运营,提供精准、定制化、高质量的用户服务。 数据驱动运营决策更科学、准确 以往的各种运营需求,大都是 PM or 运营 进行活动策划及方案的最终选型,通过 RD 人员实现上线,最终评估收益。 这样的方式往往存在两个问题: * 1、活动策划及方案最终选型是通过人工经验计算其收益最高的形式确定。 人工经验是非绝对正确的,它是一种主观决策,不代表最优收益!而且实际价值和预估可能存在较大差异! * 2、实际效果数据只有在活动结束,尘埃落定的数据盘点才可得出。 发现策划及方案的真实效益数据,和人工经

By Ne0inhk
Netty学习总结(1)——Netty入门介绍

Netty学习总结(1)——Netty入门介绍

1.Netty是什么? Netty是一个基于JAVA NIO类库的异步通信框架,它的架构特点是:异步非阻塞、基于事件驱动、高性能、高可靠性和高可定制性。 2.使用Netty能够做什么? * 开发异步、非阻塞的TCP网络应用程序; * 开发异步、非阻塞的UDP网络应用程序; * 开发异步文件传输应用程序; * 开发异步HTTP服务端和客户端应用程序; * 提供对多种编解码框架的集成,包括谷歌的Protobuf、Jboss marshalling、Java序列化、压缩编解码、XML解码、字符串编解码等,这些编解码框架可以被用户直接使用; * 提供形式多样的编解码基础类库,可以非常方便的实现私有协议栈编解码框架的二次定制和开发; * 基于职责链模式的Pipeline-Handler机制,用户可以非常方便的对网络事件进行拦截和定制; * 所有的IO操作都是异步的,用户可以通过Future-Listener机制主动Get结果或者由IO线程操作完成之后主动Notify结果,用户的业务线程不需要同步等待; *

By Ne0inhk
Tomcat学习总结(7)——Tomcat与Jetty比较

Tomcat学习总结(7)——Tomcat与Jetty比较

Jetty 基本架构 Jetty目前的是一个比较被看好的 Servlet 引擎,它的架构比较简单,也是一个可扩展性和非常灵活的应用服务器。 它有一个基本数据模型,这个数据模型就是 Handler(处理器),所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Jetty 就是帮你管理这些 Handler。 下图是 Jetty 的基本架构图,整个 Jetty 的核心组件由 Server 和 Connector 两个组件构成,整个 Server 组件是基于 Handler 容器工作的,它类似与 Tomcat 的 Container 容器。 Jetty 中另外一个比不可少的组件是 Connector,它负责接受客户端的连接请求,并将请求分配给一个处理队列去执行。 图 1. Jetty 的基本架构 Jetty 中还有一些可有可无的组件,

By Ne0inhk