zoukankan      html  css  js  c++  java
  • 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的位置所包含的元素,也就是12

    >>> 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)返回一个从nm-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)统计vlist中出现的次数,返回一个整数

    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)listindex位置的值冒泡剔出,返回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(' ')

    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(' ')

        print ii

        ami001.write(ii)

    ami001.close()

    fr.close()

    >>> isinstance(1,int)  #isinstance(n,m)判断nm类型的吗?是返回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]+' ')

        i=i+1

    ami002.close()

  • 相关阅读:
    四组API
    常用的辅助类(必会
    时间戳
    SpringMVC JSON乱码解决
    数据显示到前端
    ubuntu vim字体高亮
    vi编辑文件保存后,提示""vimrc" E212: Can't open file for writing Press ENTER or type command to continu"
    C语言程序设计100例之(25):确定进制
    C语言程序设计100例之(24):数制转换
    C语言程序设计100例之(23):数列求和
  • 原文地址:https://www.cnblogs.com/AmilyWilly/p/5103493.html
Copyright © 2011-2022 走看看