Python之列表

    xiaoxiao2025-03-15  29

    Python之列表

    什么是列表

    数组:存储同一种数据类型的集合 scores = [12,23,45] 列表(打了激素的数组):可以存储任意数据类型

    列表的创建 >>> list = [1,1.5,True,'redhat'] >>> print(list,type(list)) ([1, 1.5, True, 'redhat'], <type 'list'>)

    列表中也可以嵌套

    >>> list2 = [1,2.5.4.5[1,1.5,True,'redhat']] >>> print(list,type(list2)) ([1, 1.5, True, 'redhat'], <type 'list'>) 列表的特性

    索引: 正向索引

    >>> word = ['a','b','c'] >>> print(word[0]) a

    反向索引

    >>> print(word[-1]) c

    切片:

    >>> print(word[::-1]) ['c', 'b', 'a'] >>> print(word[1:]) ['b', 'c'] >>> print(word[:-1]) ['a', 'b']

    重复:

    >>> print(word * 3) ['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

    连接:

    >>> word2 = ['d','e'] >>> print(word + word2) ['a', 'b', 'c', 'd', 'e']

    成员操作符:

    >>> print('b' in word) True >>> print('g' in word) False >>> print('b' not in word) False 列表元素增加

    append():追加一个元素到列表

    >>> word = ['a','b','c'] >>> word.append('d') >>> print(word) ['a', 'b', 'c', 'd']

    extend():拉伸 追加多个元素到列表中

    >>> word.extend(['e','f']) >>> print(word) ['a', 'b', 'c', 'd', 'e', 'f']

    insert() 在指定索引处插入元素

    word.insert(1,'b') >>> print(word) ['a', 'b', 'b', 'c', 'd', 'e', 'f'] 列表元素删除

    pop

    >>> word = ['a','b','c'] >>> word.pop() 'c' >>> word ['a', 'b'] >>> word.pop() 'b' >>> word ['a'] >>> word.pop(0) 'a' >>> word [] >>> word.pop() Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: pop from empty list >>>

    remove:删除列表元素

    >>> word = ['a','b','c'] >>> a = word.remove('c') >>> print(a) None >>> print(word) ['a', 'b']

    从内存中删除一个数据:

    >>> word = ['a','b','c'] >>> del word[1] >>> print(word) ['a', 'c'] 列表元素查看

    查看元素在列表中出现的次数(count):

    >>> word = ['a','b','b','c','d','e','d','e'] >>> print(word.count('a')) 1 >>> print(word.count('b')) 2

    查看指定元素的索引值(可以指定索引范围inde):

    >>> print(word.index('d')) 4 >>> print(word.index('d',4,7)) 4 >>> print(word.index('d',3,7)) 4 列表的元素的修改

    通过索引值,重新赋值:

    >>> word = ['a','b','c'] >>> word[0] = 'a1' >>> print(word) ['a1', 'b', 'c']

    通过切片赋值:

    >>> word[:1]= ['b1','c1'] >>> print(word) ['b1', 'c1', 'b', 'c'] 列表元素的排序

    sort 默认是按照Ascii码进行排序的

    >>> service = ['http','ftp','ftp','ssh'] >>> service.sort(reverse=True) >>> print(service) ['ssh', 'http', 'ftp', 'ftp'] >>> names = ['Tom','alice','bob','Borry'] >>> names.sort(key=str.upper) >>> print(names) ['alice', 'bob', 'Borry', 'Tom']

    随机数排列:

    >>> import random >>> ha = list(range(20)) >>> print(ha) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] >>> random.shuffle(ha) >>> print(ha) [3, 14, 17, 11, 5, 16, 0, 18, 7, 10, 12, 8, 4, 2, 15, 19, 13, 9, 6, 1] 列表的示例

    1.假定有下面这样的列表: names = [‘fentiao’, ‘fendai’, ‘fensi’, ‘apple’] 输出结果为:‘I have fentiao, fendai, fensi and apple.’

    names = ['fentiao', 'fendai', 'fensi', 'apple'] print('I have ' + ','.join(names[:-1]) + ' and ' + names[-1])

    2.输入某年某月某日(yyyy-MM-dd),判断这一天是这一年的第几天?

    cal = input('请输入日期 yyyy-MM-dd:') date = cal.split('-') #拆分日期 year = int(date[0]) month = int(date[1]) day = int(date[2]) arr = [0,31,28,31,30,31,30,31,31,30,31,30,31] num = 0 if ((year % 4 ==0) and (year % 100 !=0) or (year % 400== 0)): arr[2] = 29 for i in range(1,len(arr)): if month > i: num += arr[i] else: num += day break print('天数:',num) 列表的综合练习

    输入三个整数x,y,z,请把这三个数由小到大输出

    haha = input('请输入三个整数 X,Y,Z ') haha1 = haha.split(',') a = int(haha1[0]) b = int(haha1[1]) c = int(haha1[-1]) list = [a,b,c] list.sort() print(list)

    END

    最新回复(0)