Python之列表

24 篇文章 2 订阅
24 篇文章 1 订阅

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值