Python列表基础
==========列表基础===========
列表中的数据是可以被修改的。字典,元组,集合是不能被修改的。
>>> li1=['3edf','dafdas']
>>> li2=[li1,'23432cds'] #list中还可以放list
>>> print li2
[['3edf', 'dafdas'], '23432cds']
>>> li3=[]
>>> len(li3)
0
>>> li2=['eaf','dvsd3',23234]
>>> print li2[0] #通过index下标来访问list中的元素
eaf
>>> print li2[1]
dvsd3
>>> li4=['sadkfh',34873,'3dsaduf4']
>>> li4[0]=li4[0].replace('h','abc') #替换列表中的某数据项
>>> print li4
['sadkfabc', 34873, '3dsaduf4']
>>> li4=['daf','ehwe',3454,'dfasf']
>>> li5=li4[1:3] #list的切片,下标从1开始切片到3的位置所包含的元素,也就是1和2
>>> print li5
['ehwe', 3454]
>>> li5=li4[:] #完全切给它了
>>> print li5
['daf', 'ehwe', 3454, 'dfasf']
>>> for lii in li5: #for循环遍历list列表
print lii
daf
ehwe
3454
dfasf
>>> lii=iter(li5) #用迭代器来取也可以
>>> print lii.next()
daf
===================list与C语言中数组的区别===========
>>> li6=['dgfd',343,'dfa','45hj']
>>> li7=['dfa',767,'34f']
>>> li8=li6+li7 #list可以通过+进行连接
>>> print li8
['dgfd', 343, 'dfa', '45hj', 'dfa', 767, '34f']
>>> id(li8) #看li8的内存地址
47009664
>>> li8=(li6+li7)*2 #list可以用*,乘法 等同于多个加法
>>> print li8
['dgfd', 343, 'dfa', '45hj', 'dfa', 767, '34f', 'dgfd', 343, 'dfa', '45hj', 'dfa', 767, '34f']
>>> id(li8)
47008944
这样子的动态赋值是不行的。
>>> li7.append('dfad') #append()在list列表的最后一个位置附加一个数据项,也可以是列表类型的
>>> print li7
[-1, 'dfa', 767, -2.5, '34f', 6, 'dfadf', 'dfad']
>>> li7.insert(0,-1) #insert()在下标为n的位置放置m这个数据项。
>>> print li7
[-1, 'dfa', 767, '34f']
>>> li7.insert(3,-2.5) #-2.5放在下标为3的位置
>>> print li7
[-1, 'dfa', 767, -2.5, '34f']
>>> li9=list('www.baidu.com') #list(str)将字符串转化为list列表类型
>>> print li9
['w', 'w', 'w', '.', 'b', 'a', 'i', 'd', 'u', '.', 'c', 'o', 'm']
>>> print li9.index('w') #index()获取list中某数据第一次出现的位置下标
0
>>> li9.insert(li9.index('w'),'begin')
>>> print li9
['begin', 'w', 'w', 'w', '.', 'b', 'a', 'i', 'd', 'u', '.', 'c', 'o', 'm']
>>> li1=range(1,10) #range(n,m)返回一个从n到m-1的整数列表
>>> print li1
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>li2.extend(li3) # list1.extend(list2)将list2中的每个元素依次附加到list1的最后面
>>> print li2
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 15, 16, 17, 18, 19, 15, 16, 17, 18, 19]
>>> print li2
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 15, 16, 17, 18, 19, 15, 16, 17, 18, 19]
>>> li2.count(15) #list.count(v)统计v在list中出现的次数,返回一个整数
3
>>> li2.remove(15) 删除#list.remove(n) 删除list中第一次出现的n(无返回值)
>>> print li2
[10, 11, 12, 13, 14, 16, 17, 18, 19, 15, 16, 17, 18, 19, 15, 16, 17, 18, 19]
>>>
>>> print li3
['a', 'b', 'c', 'd', 'e', 'f', 100]
>>> li3.__delitem__(3) 删除#list.__delitem__(index)删除某个位置上的元素
>>> print li3
['a', 'b', 'c', 'e', 'f', 100]
>>>
.__XXX__()这种书写方法的函数都是Python的内置函数,自己写函数的时候要尽量避免掉这种写法。
>>> print li3
['a', 'b', 'c', 'f', 100]
>>> cd=li3.pop(4) 删除#list.pop(index)将list中index位置的值冒泡剔出,返回index位置的值
>>> print cd
100
>>> print li3
['a', 'b', 'c', 'f']
>>> li4=range(0,11)
>>> print li4
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> li4.reverse() #list.reverse() 将list逆序排列,没有返回值,直接将list更改了
>>> print li4
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> print li4
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> li4=li4[::-1] #通过切片也可以实现逆序
>>> print li4
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
===============列表与函数==============
#coding:utf-8
def mycount(list):
i=len(list)-list.count('.')
return i
s='wwwbaidu.cofgsm'
list1=list(s)
print 'list1',list1
print '字符串中出了.之外其他的字符一共有%d'%(mycount(list1)),'个'
=============列表与文件===============
#coding:utf-8
#文件读取
fr=open(r'aaa.txt','r')
list1=fr.readlines()
for ii in list1:
ii.strip('\n')
print ii
#coding:utf-8
#文件写入 list写入文件,只能写入str类型
fr=open(r'aaa.txt','r')
list1=fr.readlines()
ami001=open(r'ami001.txt','w')
for ii in list1:
ii.strip('\n')
print ii
ami001.write(ii)
ami001.close()
fr.close()
>>> isinstance(1,int) #isinstance(n,m)判断n是m类型的吗?是返回True,否返回False
True
>>> isinstance(1.05,int)
False
>>> isinstance(1.05,float)
True
>>> isinstance('1.05',int)
False
>>> isinstance('1.05',str)
True
>>>
#coding:utf-8
#混合数据类型的list写入文件
li1=range(0,11)
li2='www.baidu.com'
li3=li1+list(li2)
li3.append(54.55)
li3.append(565)
print li3
i=0
print 'write li3 into ami002.txt'
ami002=open('ami002.txt','w')
while i<len(li3):
if isinstance(li3[i],str)==False:
li3[i]=str(li3[i])
ami002.write(li3[i]+'\n')
i=i+1
ami002.close()
Python列表基础的更多相关文章
- python列表基础操作
Python列表基本操作 记住一句话,叫做顾首不顾尾 首先我们来定义一个列表 name = ["jixuege","dajiba","boduoye& ...
- 跟着ALEX 学python day2 基础2 模块 数据类型 运算符 列表 元组 字典 字符串的常用操作
声明 : 文档内容学习于 http://www.cnblogs.com/xiaozhiqi/ 模块初始: Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相 ...
- python 列表推导式 - python基础入门(16)
截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率更高. 一.什么是推导式 推导式是从一个或者多个 ...
- python 列表List - python基础入门(13)
列表是python开发过程中最常用的数据类型之一,列表俗称:list ,特点如下: 1.列表由一个或者多个数据构成,数据的类型可以不相同也可以相同: 2.列表中的数据需要写在[]中括号内部,数据与数据 ...
- Python数据基础类型-列表
1,列表的创建 list1 = ['hello', 'world', 1997, 2000] list2 = [1, 2, 3, 4, 5 ] list3 = ["a", &quo ...
- 关于python列表的一些基础知识。
因学校实验室要求,自学了python,一开始看书觉得太简单了,也没有多动手去尝试,直到看完了前八章突然想动手试试的时候,人傻了,深刻体会到了好记性不如烂笔头的道理,故整理一些python列表的操作. ...
- python 列表排序
转自http://www.iplaypython.com/jinjie/jj114.html reverse()方法 将列表中元素反转排序,比如下面这样>>> x = [1,5,2, ...
- python 列表生成器
python 列表生成器 列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式. 一个循环 在C语言等其他语言中,for循环一般是这样的 ...
- Python文件基础
===========Python文件基础========= 写,先写在了IO buffer了,所以要及时保存 关闭.关闭会自动保存. file.close() 读取全部文件内容用read,读取一行用 ...
随机推荐
- WCF 入门(23,24)
前言 重新找了工作,过去的事情就过去好了.有些不一样的经历也不是说一定就是坏事. 第24集 在控制台应用程序中自托管WCF服务 Self hosting a wcf service in consol ...
- 配置域主DNS服务器
一.DNS服务器的类型 ①Primary DNS Server(Master) 一个域的主服务器保存着该域的zone配置文件,该域所有的配置.更改都是在该服务器上进行,本篇随笔要讲解的也是如何配置一个 ...
- OneZero第一次会议(非正式)
会议时间:2016年3月20日 15:50~16:50 会议成员:冉华(http://www.cnblogs.com/ranh941/) 张敏(http://www.cnblogs.com/zhang ...
- 作业一_随笔3_调研Android的开发环境的发展演变
调研某一移动应用/平台的开发环境的发展演变:Android 其实,一开始,我只知道,苹果手机用IOS系统,其他很多手机时候安卓系统.我百度知道Android开发主要是android studio和Ec ...
- nginx 负载均衡服务器的双机搞可用
摘自书籍:<实战Nginx取代Apache高性能Web服务器>一书 P94 两种方式实现 一种方式是公司里的一台web服务器作为主服务器,另一台服务器作为热备服务器 主服务器绑定一个虚拟I ...
- hdu1305 字典树
这题我开始想的简单了,WA一次,然后看disscuss里有人说输入时长度从小到大的,然后我信了.然后开始while(1) WA;然后我尝试先放如数组.后来对了: discuss里面果然不能太相信. 根 ...
- BZOJ-4010 菜肴制作 贪心+堆+(拓扑图拓扑序)
无意做到...char哥还中途强势插入干我...然后据他所言,看了一会题,一转头,我爆了正解....可怕 4010: [HNOI2015]菜肴制作 Time Limit: 5 Sec Memory L ...
- RequestMethod.DELETE相关,如何用jquery实现RequestMethod.DELETE请求
Spring MVC添加支持Http的delete.put请求!(HiddenHttpMethodFilter) Spring3.0之后->Spring MVC过滤器-HiddenHttpMet ...
- Windows Management Instrumentation WMI Security Technology Learning
目录 . 引言 . WMI(Windows Management Instrumentation)简介 . 基于WMI的攻击向量 . WMI编程示例 0. 引言 在进行服务器主机的入侵检测.安全攻防的 ...
- 压力测试工具tsung
tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问.目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过. 1.安装 tsung是用 ...