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 li
print(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 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)的更多相关文章

  1. Python基础数据类型-列表(list)和元组(tuple)和集合(set)

    Python基础数据类型-列表(list)和元组(tuple)和集合(set) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的 ...

  2. python基础4 列表和元组

    一. 列表列表:python基础数据类型之一:其他语言中也有列表的概念,js 数组,可索引,可切片,可加步长li = ['hello', 100, True, [1, 2, 3], {'name':' ...

  3. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  4. python基础数据类型考试题

    Python基础数据类型考试题 考试时间:两个半小时                      满分100分(80分以上包含80分及格) 一,基础题. 1,简述变量命名规范(3分) 2,字节和位的关系 ...

  5. python基础之列表list元组tuple

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7041763.html python基础之列表list元组tuple 列表li ...

  6. python 基础数据类型之list

    python 基础数据类型之list: 1.列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ...

  7. Python基础数据类型-字典(dict)

    Python基础数据类型-字典(dict) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版本的哟 ...

  8. Python基础数据类型题

    Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是pytho ...

  9. Python基础数据类型之字符串

    Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >> ...

随机推荐

  1. day18-Python运维开发基础(单继承 / 多继承 / 菱形继承、类的多态)

    1. 单继承 / 多继承 / 菱形继承 # ### 继承 : 一个类除了自身所拥有的属性方法之外,还获取了另外一个类的成员属性和方法 """ 一个类可以继承另外一个类,那 ...

  2. 新增6 n个骰子的点数

    /* * * 面试题43:n个骰子的点数 * 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s. * 输入n,打印出s的所有可能的值出现的概率. * */ #include <iostream ...

  3. 「luogu4135」作诗

    「luogu4135」作诗 传送门 分块好题. 预处理出 \(f[i][j]\) 表示 \(i\) 号块到 \(j\) 号块的答案,\(num[i][k]\) 表示 \(k\) 在前 \(i\) 块的 ...

  4. Centos7 nginx 反向代理的配置

    一.正向代理与反向代理 1.正向代理 正向代理往VPN理解 正向代理,也就是传说中的代理,他的工作原理就像一个跳板(VPN),简单的说: 我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这 ...

  5. 3676: [Apio2014]回文串 求回文串长度与出现次数的最大值

    「BZOJ3676」[Apio2014] 回文串   Description 考虑一个只包含小写拉丁字母的字符串s.我们定义s的一个子串t的“出 现值”为t在s中的出现次数乘以t的长度.请你求出s的所 ...

  6. tensorflow之逻辑回归模型实现

    前面一篇介绍了用tensorflow实现线性回归模型预测sklearn内置的波士顿房价,现在这一篇就记一下用逻辑回归分类sklearn提供的乳腺癌数据集,该数据集有569个样本,每个样本有30维,为二 ...

  7. 40和为S的两个数字

    题目描述 输入一个递增排序的数组和一个数字S,在数组中查找两个数,是的他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的. 输出描述: 对应每个测试案例,输出两个数,小的先输出. 思路 ...

  8. @vue-cli的安装及vue项目创建

    1.安装 Node.js & Vue CLI @vue/cli3,是vue-进行搭建的脚手架项目,它本质上是一个全局安装的 npm 包,通过安装它,可以为终端提供 vue 命令,进行vue项目 ...

  9. VS中MFC项目文件特别大的解决办法

    转 来自http://m.zhizuobiao.com/vc/vc-18082800177/ 自己插个眼 项目文件比较大因为 项目下有个隐藏文件夹.vs  下面是解决办法 本文主要向大家介绍了VC编程 ...

  10. 区块链 - 哈希(Hash)

    章节 区块链 – 介绍 区块链 – 发展历史 区块链 – 比特币 区块链 – 应用发展阶段 区块链 – 非对称加密 区块链 – 哈希(Hash) 区块链 – 挖矿 区块链 – 链接区块 区块链 – 工 ...