python基础数据类型--列表(list)
python基础数据类型--列表(list)
列表是我们在后面经常用到的数据类型之一,通过列表可以对数据类型进行增、删、改、查等操作
一列表的增、删、改、查
1增:
1.1增加到最后 append()
li = ['alex','wusir','egon','女神','taibai']
li.append('xiaoqiang')
print(li)
1.2按索引位置添加 insert()
li = ['alex','wusir','egon','女神','taibai']
li.insert(3,'xingxing')
print(li)
1.3迭代的去增加 extend()
li = ['alex','wusir','egon','女神','taibai']
li.extend('gaoya')#最终添加为元素
print(li)
2删
2.1按索引删除 pop()
|
1
2
3
|
li = ['alex','wusir','egon','女神','taibai']li.pop(0)print(li) |
2.2按元素删除remove()
li = ['alex','wusir','egon','女神','taibai']
li.remove('taibai')
print(li)
2.3清空clear()
li = ['alex','wusir','egon','女神','taibai']
li.clear()
print(li)
2.4直接删除del()
|
1
2
3
|
li = ['alex','wusir','egon','女神','taibai']del liprint(li) 会报错,因为被删除了 |
2.5切片删除del()
|
1
2
3
|
li = ['alex','wusir','egon','女神','taibai']del [2:]print(li) |
3改
3.1按索引去改
|
1
2
3
|
li = ['alex','wusir','egon','女神','taibai']li[0]='xiaoqiang'print(li) |
3.2按切片去改
|
1
2
3
|
li = ['alex','wusir','egon','女神','taibai']li[0:2]='learnpython'print(li) |
4查
4.1 for循环
|
1
2
3
|
li = ['alex','wusir','egon','女神','taibai']for i in li: print(i) |
4.2切片去查
|
1
2
3
|
li = ['alex','wusir','egon','女神','taibai']l1 = li[0:2]print(l1) |
二、列表的排序
li = [1,3,4,5,7,6,8,9,2] li.sort() #正向排序
li.sort(reverse=True)#倒向排序
li.reverse() #反转
print(li)
三、列表是嵌套
li = ['taibai','武藤兰','苑昊',['alex','egon','89'],'23',]
lan=li[1][2] #找到兰字
print(lan)
四、join和split
join()方法
S.join():其中S是字符串连接符,join中参数必须是可迭代对象,join()方法输出可迭代对象的每一个元素,并用连接符将每一个元素连接
s = 'ilovepython'
l = ['C','Java','C++','Ruby','PHP','Python']
print('_'.join(s))
# >>> 'i_l_o_v_e_p_y_t_h_o_n'
print('_'.join(l))
# >>> 'C_Java_C++_Ruby_PHP_Python'
split()方法
字符串和列表之间的转换
s = 'i_l_o_v_e_p_y_t_h_o_n'
print(s.split('_'))
# >>> ['i', 'l', 'o', 'v', 'e', 'p', 'y', 't', 'h', 'o', 'n']
五、range()
# range:相当于都是数字的列表 [0,1,2,3,4.....,99]
# range(起始值,终止值)
for i in range(0,100):
print(i) # 默认起始值不写默认为0
for i in range(100):
print(i) # 同索引一样,range也可以加步长,加步长的话默认的0起始值就不可以省略
for i in range(0,100,2):
print(i) for i in range(100,0,-2):
print(i)
六、 enumerate()方法------有索引有值
枚举----对于一个可迭代的/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时或得索引和值
lst = ['python','java','c','ruby','Go']
for i in enumerate(lst):
print(i)
for index, name in enumerate(lst, 1): ####---1 是起始位置,可以修改100等等
print(index, name)
七、 深浅copy()简析
# 普通赋值运算
lst_1 = ['Python','Java',['Ruby','PHP','C++']]
lst_2 =lst_1 # lst_2 = lst_1[:] 同理 print(lst_1)
print(id(lst_1))
print('*'*10)
print(lst_2)
print(id(lst_2)) # >>> ['Python','Java',['Ruby','PHP','C++']]
# >>> 18623368
# >>> **********
# >>> ['Python','Java',['Ruby','PHP','C++']]
# >>> 18623368 # 浅copy()方法:第一层创建的是新的内存地址,而从第二层开始,指向的都是同一个内存地址,所以,对于第二层以及更深的层数来说,保持一致性。
lst_1 = ['Python','Java',['Ruby','PHP','C++']]
lst_2 =lst_1.copy() # lst_2 = lst_1[:] 同理 lst_1[2].append('new_lanuage')
print(lst_1,id(lst_1))
print('*'*10)
print(lst_2,id(lst_2)) # >>> ['Python', 'Java', ['Ruby', 'PHP', 'C++', 'new_lanuage']] 12001800
# >>> **********
# >>> ['Python', 'Java', ['Ruby', 'PHP', 'C++', 'new_lanuage']] 12015048 # 深copy()方法:对于深copy来说,两个是完全独立的,改变任意一个的任何元素(无论多少层),另一个绝对不改变。
import copy
lst_1 = ['Python','Java',['Ruby','PHP','C++']]
lst_2 = copy.deepcopy(lst_1) lst_1[2].append('new_lanuage')
print(lst_1,id(lst_1))
print('*'*10)
print(lst_2,id(lst_2)) # >>> ['Python', 'Java', ['Ruby', 'PHP', 'C++', 'new_lanuage']] 12533000
# >>> **********
# >>> ['Python', 'Java', ['Ruby', 'PHP', 'C++']] 12533512
python基础数据类型--列表(list)的更多相关文章
- Python基础数据类型-列表(list)和元组(tuple)和集合(set)
Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...
- python基础4 列表和元组
一. 列表列表:python基础数据类型之一:其他语言中也有列表的概念,js 数组,可索引,可切片,可加步长li = ['hello', 100, True, [1, 2, 3], {'name':' ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- python基础数据类型考试题
Python基础数据类型考试题 考试时间:两个半小时 满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...
- python基础之列表list元组tuple
作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...
- python 基础数据类型之list
python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...
- Python基础数据类型-字典(dict)
Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...
- Python基础数据类型题
Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...
- Python基础数据类型之字符串
Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...
随机推荐
- Python数据类型-2 数字类型
数字类型 数字类型是不可变类型.所谓的不可变类型,指的是类型的值一旦有不同了,那么它就是一个全新的对象.数字1和2分别代表两个不同的对象,对变量重新赋值一个数字类型,会新建一个数字对象. 还是要强调一 ...
- c数据结构链式存储-静态链表
#include "string.h" #include "ctype.h" #include "stdio.h" #include &qu ...
- Pyhton语言的优缺点
python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路. 龟叔给Python的定位是“优雅”.“明确”.“简单”,所以Python程序看上去总是简单易懂,初学者学Py ...
- keil Bulid Ouput窗口中PROGRAM SIZE项的具体含义
在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息: Program Size: Code=6320 RO-data=4864 RW-data=44 ZI ...
- Linux--常用的linux基本命令学习大全01(适合所有人群)
常用 Linux 命令的基本使用 序号 命令 对应英文 作用 01 ls list 查看当前文件夹下的内容 02 pwd print wrok directory 查看当前所在文件夹 03 cd [目 ...
- 在ubuntu中,通过代理服务器访问网络
一.临时设置代理服务的方式 export http_proxy=http://yourproxyaddress:proxyport 这种方式在你退出当前的shell之前,会影响到所有网络命令,包括wg ...
- elasticsearch 自定义routing
由于线上elasticsearch集群数据量越来越大,优化已经已经是重中之重. 优化的方式有很多中,网上一大堆,自行百度. 优化方案中有个叫routing的方案是个需要熟悉业务日志才能使用.于是我就研 ...
- Kali aircrack-ng wifi密码破解(暴力)
1.kali linux安全渗透 2.工具aircrack-ng 3.ifconfig查看你的网卡信息,wlan0即无线网卡,注意,如果没有发现网卡可能是芯片不能被识别,建议选择网卡芯片为3037或r ...
- 全方位深入理解JavaScript面向对象
JavaScript面向对象程序设计 转载:https://blog.csdn.net/lihangxiaoji/article/details/79753473#72__871 本文会碰到的知识点: ...
- 9月Win10杀软大PK
导读 严格来说,Windows 10 并不存在“裸奔”一说,因为自带的 Defender 安全中心已经是越来越强大. 来自独立机构 AV-Comparatives 的 9 月份评测报告显示,Windo ...