Python 列表list
列表list: [ ]
类似Java中的数组. 通过索引可以取到具体位置上的值.
names = ["ZhangYang","WangGui","LiQiang"]
print(names)
print(names[0])
#取数组中相邻的一些数
names = ["Ada","Sasha","Rose","Luke","Sara"]
print(names[1:3]) #顾头不顾尾, 这样写是取索引为1和2的值.
切片
#取数组最后一位的值
print(names[-1]) #从右向左数第一位. 也可以[-2],就是取倒数第二位的值. #取数组最后两位的值
print(names[-1:-3]) #这样写会报错,因为系统是从左向右数的, 所以-1数完后边已经没有了. print(names[-3:-1]) #正确写法 #取倒数第二个和倒数第三个
print(names[-2:]) #取前两位
print(names[3]) #相当于print(names[0:3]), 0省略了
追加
names.append("Nick")
添加数据并放在中间的位置. / 修改.
names = ["Ada","Sara","Candy","Cathy","Jessica","Diana"] #添加数据插入Sara前面
names.insert(1,"Venus") #想放在哪个位置,参数就写对应的索引. #修改. 把Candy换掉.
names[2] = 'XieDi"
删除
#删除方法1:
names.remove("Ada") #删除方法2:
del names[0] #删除方法3:
names.pop() #默认删掉最后一个值.
names.pop(1) #等同于del names[1]
查找 / 清空
# 查找Ada的位置
print(names.index("Ada"))
print(names[(names.index("Ada")] #根据找到的索引打印出对应位置的值 #当存在重复数据时, 计算重复数据的个数
names = ["Ada","Sara","Cathy","Candy","Diana","Ada"]
print(names.count("Ada")) #清空列表
names.clear()
反转 / 排序
#反转列表
names = ["Ada","Sara","Cathy","Candy","Diana","Ada"] names.reverse() #排序
names.sort()
添加列表 (类似合并数组) / 删掉列表
#合并列表
names2 = [1,2,3,4] names.extend(names2) #删掉列表names2
del names2
extend和append的区别:
a = ['','','']
b = ['','']
c = ['','']
a.extend(b) # 将另一个列表的元素添加到当前列表中
print(a)
print('=====================================')
a.append(c) # 将另一个列表作为一个元素添加到当前列表中
print(a) '''
返回值
['1', '2', '3', '2', '0']
======================================
['1', '2', '3', '2', '0', ['6', '3']]
'''
复制
#复制
name2 = names.copy()
数组包含数组时修改内嵌数组中的数据
# 数组包含数组时修改内嵌数组中的数据 # 方法1 : copy 浅复制
# 数组中内嵌数组的内容在复制时,其实复制的是该内嵌数组的地址,所以当修改该内嵌数组中的数据时,无论原始数组还是复制后的数组,其内嵌数组中的数据都会随之改变.
# 但是原始数组中其他值则是直接将该值指向复制后的数组,所以当原始数组中这些值改变时,复制后的数组对应位置的值保持不变.
names = ["Ada","Jessica","Cathy","Candy","Luke",["ada","Sara","Mika"]] names2 = names.copy()
names[2] = "Lucy"
names[5][0] = "ADA"
print(names) # Cathy被修改成Lucy; ADA改成大写.
print(names2) # Cathy不改变. ADA改成大写 # 方法2: import copy, 调用copy.copy()方法和列表中的copy()一样效果
import copy
names3 = copy.copy(names)
names[0] = "Lucy"
names[5][1] = "ADA"
print(names) # Cathy被修改成Lucy; ADA改成大写.
print(names3) # Cathy不改变. ADA改成大写 # 方法3: import copy, 调用copy. deepcopy()方法. 深copy, 可以达到复制内嵌列表中值的效果
names4 = copy.deepcopy(names)
names[3] = "Lucy"
names[5][0] = "ada"
print(names) # Cathy被修改成Lucy; ADA改成大写.
print(names4) # Cathy不改变. ADA也不改变 # 方法4, 切片的方式实现浅copy
names5 = names[:] # 方法5, 另外一种浅copy的方法
names6 = list(names) # 浅copy在银行公共帐户情形中非常有用. 夫妻二人共开同一个帐户时,每个人取钱都会影响帐户中的总额.
列表的循环 / 跳着打印列表中的值
# 列表的循环
for i in names:
print(i) # 跳着打印列表中的值
print(names[0:-1:2]) # 每隔一个打印一次. 2代表步长.
print(names[::2]) # 0和-1都可以省略,所以写成这样.
Python 列表list的更多相关文章
- python 列表排序
转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...
- python列表、元祖、字典
python列表 ['a','1','vs2'] 里面的值可以改 python元祖 ('a','1','css','sdf12') 里面的值不能改 python字典 {'s ...
- Python列表、元组、字典和字符串的常用函数
Python列表.元组.字典和字符串的常用函数 一.列表方法 1.ls.extend(object) 向列表ls中插入object中的每个元素,object可以是字符串,元组和列表(字符串“abc”中 ...
- Python 列表
python 列表 列表的特点 1.列表是一种可变的数据类型,这点是跟元组有区别的 2.列表中的值是有序的,并且可存放重复的值,这点跟set有区别的 3.python中的列表类似于其它语言中的数组 4 ...
- python 列表生成器
python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...
- [转载] Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...
- Python 列表如何获得一个指定元素所在的下标
在使用Python3.4读取txt数据到列表,由于编码问题,读取到的数据通常会出现'\ufeffX'(x为你想要的数据).这时候如果需要把列表中的数据由字符串转换到数值型的数据的进行数据分析的话就会出 ...
- python列表的常用操作方法
主要介绍了Python中列表(List)的详解操作方法,包含创建.访问.更新.删除.其它操作等,需要的朋友可以参考下. 1.创建列表.只要把逗号分隔的不同的数据项使用方括号括起来即可 List = [ ...
- !!对python列表学习整理列表及数组详细介绍
1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...
- (转载)Python 列表(list)操作
(转载)http://blog.csdn.net/facevoid/article/details/5338048 创建列表sample_list = ['a',1,('a','b')] Python ...
随机推荐
- javascript函数式编程一例分析
js像其他动态语言一样是可以写高阶函数的,所谓高阶函数是可以操作函数的函数.因为在js中函数是一个彻彻底底的对象,属于第一类公民,这提供了函数式编程的先决条件. 下面给出一个例子代码,出自一本js教程 ...
- 线程ava.lang.OutOfMemoryError: unable to create new native thread
近日开发遇到多线程的问题: java.lang.OutOfMemoryError: unable to create new native thread Exception in thread &qu ...
- seo建站需要注意哪些
seo建站是搜索引擎优化的意思,通过seo建站技术,我们可以为站点带来可观的流量.那么,要怎样才能做好seo建站?seo建站优化过程中应该注意的事项有哪些?这些问题,是每一个站长都关心的.鉴于此,笔者 ...
- solr研磨之游标分页
普通分页 当需要深度分页的时候,比如查询第10000页数据,每页显示10条,意味着需要提取前10000 x 10 页的数据,并将这100000条数据缓存在内存中,然后在内存中进行排序.最后返回最后10 ...
- java中Scanner类nextLine()和next()的区别和使用方法
转载:http://blog.csdn.net/zhiyuan_ma/article/details/51592730 在实现字符窗口的输入时,很多人更喜欢选择使用扫描器Scanner,它操作起来比较 ...
- java设计原则---开闭原则
开闭原则:指的是一个软件实体应对对扩展开发,对修改关闭(Software entities should be open for extension, but closed for modificat ...
- javaScript(5)---运算符
学习要点: 1.什么是表达式 2.一元运算符 3.算术运算符 4.关系运算符 5.逻辑运算符 6.*位运算符 7.赋值运算符 8.其他运算符 9.运算符优先级 ECMA-262描述了一 ...
- TCP TIME WAIT
根据TCP协议定义的3次握手断开连接规定,发起socket主动关闭的一方 socket将进入TIME_WAIT状态,TIME_WAIT状态将持续2个MSL(Max Segment Lifetime) ...
- JavaScript中将对象数组中的某个属性值,批量替换成另一个数值
原文链接 https://segmentfault.com/q/1010000010352622 希望将下列数组中的sh替换成沪,sz替换成深 var stooges = [ {label:1,val ...
- ROS:使用Qt Creator创建GUI程序(一)
开发环境: Ubuntu14.04 ROS indigo version Qt Creator 3.0.1 based on Qt 5.2.1 步骤如下:(按照下面命令一步步来,亲测可行) (一)安装 ...