专栏首页python3Python(五)列表

Python(五)列表

数组

数组存储的是同一类型的一串信息

列表

一、列表的定义

• 定义一个空列表

list = []

• 定义一个包含元素的列表,元素可以是任意类型,包括数值类型,列表,元组,字符串等等均可。

赋值方式定义:

list = ["fentiao", 4, 'gender']

list1 = ['fentiao',(4,'male')]

工厂函数定义:

n = list("hello")

In [2]: n=list("hello")

In [3]: print n

['h', 'e', 'l', 'l', 'o']

二、支持索引、切片、拼接、重复、成员操作符

索引、切片:

In [4]: li=[1,1.0,True,'hello',1+4j,[1,2,"hello"]]

In [5]: li[0]

Out[5]: 1

In [6]: li[-1]

Out[6]: [1, 2, 'hello']

In [7]: li[:]

Out[7]: [1, 1.0, True, 'hello', (1+4j), [1, 2, 'hello']]

In [8]: li[1:]

Out[8]: [1.0, True, 'hello', (1+4j), [1, 2, 'hello']]

In [9]: li[0:2]

Out[9]: [1, 1.0]

In [10]: li[::-1]

Out[10]: [[1, 2, 'hello'], (1+4j), 'hello', True, 1.0, 1]

拼接:

In [18]: li1=['vsftpd','apache']

In [19]: li2=['mariadb','nfs']

In [20]: li1 + li2

Out[20]: ['vsftpd', 'apache', 'mariadb', 'nfs']

重复:

In [21]: li1=['vsftpd','apache']

In [22]: li1*2

Out[22]: ['vsftpd', 'apache', 'vsftpd', 'apache']

成员操作符:

In [23]: li1=['vsftpd','apache']

In [24]: 'vsftpd' in li1

Out[24]: True

In [25]: 'vsftpd' not in li1

Out[25]: False

题目1:

查看1-10号主机的21,22,3306,80,69端口

解答:

#!/usr/bin/env python # coding:utf-8 ports = [21,22,3306,80,69] for i in range(1,11):     for port in ports: #可以通过 for i in list进行遍历列表中的各个元素         ip = '172.25.254.'+str(i)         print "[+] Listening On:%s:%d" %(ip,port)

@font-face {   font-family: "Times New Roman"; }@font-face {   font-family: "宋体"; }p.MsoNormal { margin: 0pt 0pt 0.0001pt; text-align: justify; font-family: 'Times New Roman'; font-size: 10.5pt; }p.p { margin: 5pt 0pt; text-align: left; font-family: 'Times New Roman'; font-size: 12pt; }span.msoIns { text-decoration: underline; color: blue; }span.msoDel { text-decoration: line-through; color: red; }div.Section0 { page: Section0; }

三、列表的常用方法

1.更新列表

• append(增加一个元素)

• extend(可以增加多个元素,可以在括号中给出一个列表,这个列表中的元素会倒入到原列表,成为他的元素)

#可以看到同样增加一个列表,append把它当成一个元素增加进去,而extend把它当作两个元素加了进去,达到了一次性增加多个元素的目的

如果增加一个字符,使用append表示增加这个字符串,而extend表示这个字符串的每个字母作为一个元素增加进去:

In [52]: li1

Out[52]: ['vsftpd', 'apache']

In [53]: li1.append('hello')

In [54]: li1

Out[54]: ['vsftpd', 'apache', 'hello']

In [55]: li1.extend('hello')

In [56]: li1

Out[56]: ['vsftpd', 'apache', 'hello', 'h', 'e', 'l', 'l', 'o']

• 在指定位置添加元素使用inert方法; l.insert(index, object)

• 修改列表的元素:直接重新赋值;

2.查看列表

• 查看某个列表元素的下表用index方法; • 查看某个列表元素出现的次数用count方法;

3.删除列表

remove

pop

li.pop()表示删除最后一个元素

li.pop(0)表示删除第一个元素

del

#直接删除这个列表

题目2:

    1. 用户名和密码分别保存在列表中;     2. 用户登录时,判断该用户是否注册;     2. 用户登录时,为防止***暴力破解, 仅有三次机会;     3. 如果登录成功,显示登录成功(exit(), break).

解答:

#!/usr/bin/env python #coding: utf-8

users = ["user1", "user2", "user3"] passwords = ["123", "456", "789"] i  = 0 while i < 3:     name = raw_input("请输入用户名:")     if name not in users:         print "用户未注册"         break     password = raw_input("请输入密码:")     i += 1     index = users.index(name)     if password == passwords[index]:             print "恭喜登录成功"             break     else:             print "请输入正确的用户名或密码!" else:     print "已登录三次,请稍后再试"

题目3:

打印栈的过程

解答:

#!/usr/bin/env python #coding:utf-8 """ 列表有容器和可变的特性,通过列表构建其他数据类型; 1. 栈(eg: 往箱子里面放书) 栈的工作方式后进先出(LIFO); 2. 队列(eg:饭堂排队买饭) 队列的工作方式先进先出(FIFO)  """ stack = [] info =  """                  栈操作     1. 出栈     2. 入栈     3. 查看栈元素     4. 退出 """ print info while 1:     choice = raw_input("Choice:").strip()     if choice == '1':         if not stack == []:             stack.pop()         else:             print "栈为空"     elif choice == '2':         value = raw_input("请输入入栈的值:").strip()         stack.append(value)     elif choice == '3':         print "栈元素:",         for i in stack:             print i,         print     elif choice == '4':         exit()     else:         print "not valid choice"

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python-语法模板大全(常用)

    字符串方法详见:https://www.cnblogs.com/haochen273/p/10244032.html#%E5%AD%97%E7%AC%A6%E4...

    py3study
  • Python入门及容易!网摘分享给大家!

    PHP的$和->让人输入的手疼(PHP确实非常简洁和强大,适合WEB编程),Ruby的#、@、@@也好不到哪里(OO人员最该学习的一门语言)。

    py3study
  • 2

    晚发了好多天,因为中途发生的事情比较多,让我比较懵,甚至都想放弃学Python,但自己选择的路,在艰难也得走下去!!!

    py3study
  • 一条龙搞定情感分析:文本预处理、加载词向量、搭建RNN

    相比于计算机视觉,NLP可能看起来没有那么有趣,这里没有酷炫的图像识别、AI作画、自动驾驶,我们要面对的,几乎都是枯燥的文本、语言、文字。但是,对于人工智能的征...

    beyondGuo
  • 005.python科学计算库pandas(下)

    版权声明:本文为博主原创文章,允许转载,请标明出处。 https://blog.csdn.net/qwdafedv/article/deta...

    qubianzhong
  • 【Python 3 列表】

    序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。

    用户6184845
  • python 学习之 PythonAdv

    py3study
  • python变量

    python下变量是对一个数据的引用 >>> a=123 >>> id(a) 39435920L 四则小运算 #!/usr/bin/pythonnum1 = i...

    零月
  • python数据分析学习笔记—python基础知识

    python数据分析学习笔记系列——基础知识篇 总第44篇 ▼ ? 基本概念 1、数 在Python中有4种类型的数——整数、长整数、浮点数和复数。一般我们默认...

    张俊红
  • Python 学习入门(2)—— 数组

    Python,内置丰富的数据类型。与Java、C++相比,这些数据类型有效地减少代码的长度。下面这个列表简要地描述了Python内置数据类型(适用于Python...

    阳光岛主

扫码关注云+社区

领取腾讯云代金券