ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python——列表

2019-05-25 19:54:37  阅读:280  来源: 互联网

标签:name python toto 元素 lala 列表 haha


1、列表

  • 序列是Python中最基本的数据结构。
  • 列表是最常用的Python数据类型。
  • 列表的数据项不需要具有相同的类型
  • 序列都可以进行的操作包括索引,切片,加,乘,检查成员等。
  • 序列中的每个元素都分配一个索引,第一个索引是0,第二个索引是1,依此类推。

2、列表的创建

创建一个列表,只要使用逗号作为分隔符号,将不同的数据项隔开并使用方括号括起来
列表里面也可以嵌套列表
list1 = [1,2,4,34,56,45] # 值包含数字的列表
list2 = [1,1.2,'westos',True,list1] #包含整形,浮点形,字符形,bool形,以及列表类型在同一个列表中

>>> list1 = [1,2,4,34,56,45]
>>> list2 = [1,1.2,'westos',True,list1] 
>>> list1
[1, 2, 4, 34, 56, 45]
>>> list2
[1, 1.2, 'westos', True, [1, 2, 4, 34, 56, 45]]
>>> 

3、列表的特性

1 索引

正向索引

>>> name = ['lala','toto','haha','dodo']
>>> name[0]   #从左到右索引为0的元素
'lala'
>>> name[3]  #从左到右索引为3的元素
'dodo'

反向索引

>>> name = ['lala','toto','haha','dodo']
>>> name[-1]  # 从右到左第一个元素
'dodo'
>>> name[-3] # 从右到左第三个元素
'toto'
2 切片
>>> name = ['lala','toto','haha','dodo']   #定义列表
>>> name[:]   # 查看所有元素
['lala', 'toto', 'haha', 'dodo']
>>> name[::-1]   # 列表元素序列反转
['dodo', 'haha', 'toto', 'lala']
>>> name[1:]   #查看除去第一个元素之外的所有元素
['toto', 'haha', 'dodo']
>>> name[:2]  #查看前两个元素
['lala', 'toto']
>>> name[1:3]  #查看除去第一个到第三个为止的元素
['toto', 'haha']
3 连接

将两个列表合并成一个列表 :格式 list1 + list2

>>> name = ['lala','toto','haha','dodo']   #第一个列表
>>> name1 = ['qoqo','wowo']   #第二个列表
>>> name + name1    #合并列表
['lala', 'toto', 'haha', 'dodo', 'qoqo', 'wowo']  #生成一个新的列表
4 重复

生成一个新的列表将源列表重复n次:格式 list * n

>>> name1 = ['qoqo','wowo']  # 定义列表
>>> name1 *3  # 重复三次
['qoqo', 'wowo', 'qoqo', 'wowo', 'qoqo', 'wowo']   #生成的新列表
5 成员操作符

in #判断元素是否属于该列表 属于为真 不属于为假
not in #判断元素是否不属于该列表 属于为真 不属于为假

>>> name = ['lala','toto','haha','dodo']   #定义列表
>>> 'lala' in name   #判断lala 是否是列表中的元素
True   
>>> 'lala' not in name    # 判断lala是否不是列表中的元素
False
>>> 'tete' not in name
True
>>> 'tete'  in name
False

练习:

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),判断这一天是这一年的第几天?

date=input('请输入日期: ')
date1=date.split('-')
year=int(date1[0])
mon=int(date1[1])
day=int(date1[2])
k=0
list1=[0,31,28,31,30,31,30,31,31,30,31,30,31]
list2=[0,31,29,31,30,31,30,31,31,30,31,30,31]
if (year%400 == 0 or (year%4 == 0 and year%100 != 0)) :
    for i in list2[:mon] :
        k+=i
    print('第%d 天' %(k+day))
else :
    for i in list1[:mon] :
        k+=i
    print('第%d 天' %(k+day))
6 列表元素的增加

**1 **append(元素)追加一个元素到列表,默认添加到末尾

>>> name = ['lala','toto','haha','dodo']  #定义列表
>>> name.append('tete')  #追加一个元素到列表
>>> name
['lala', 'toto', 'haha', 'dodo', 'tete']  # 显示追加之后的列表

2 extend() 追加多个元素到列表中

>>> name1 = ['qoqo','wowo']   #定义列表
>>> name1.extend(['lala'])  # 追加一个元素
>>> name1.extend(['lele','tete'])  #追加两个元素
>>> name1
['qoqo', 'wowo', 'lala', 'lele', 'tete']

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

>>> s = ['shanxi','henan','tianjin']   # 定义列表
>>> s.insert(1,'hebei')  # 在索引1 处插入元素 hebei
>>> s
['shanxi', 'hebei', 'henan', 'tianjin']  # 成功
>>> s.insert(0,'beijing')  # 在索引0处 插入元素beijing
>>> s
['beijing', 'shanxi', 'hebei', 'henan', 'tianjin']  # 成功
7 列表元素的删除

1 pop()#默认删除列表的最后一个元素,可以在括号中指定要删除的元素的索引。
注意:使用pop()删除的元素可以由另外一个变量进行接收

>>> s
['beijing', 'shanxi', 'hebei', 'henan', 'tianjin']   # 列表中的所有元素
>>> s.pop()  # 默认删除列表最后一个元素
'tianjin'
>>> s
['beijing', 'shanxi', 'hebei', 'henan']   # 删除之后的列表
>>> s.pop(0)  # 指定索引删除特定的元素
'beijing'
>>> s
['shanxi', 'hebei', 'henan']
>>> a = s.pop()  # 将删除的元素由变量a接受
>>> a  # a的值为刚刚被删除的元素
'henan'
>>> 

2 remove():删除列表元素,通过指定元素内容来对元素进行删除,并且被删除的元素不能被变量接收

>>> name
['lala', 'toto', 'haha', 'dodo', 'tete']
>>> name.remove('lala')   # 删除lala
>>> name
['toto', 'haha', 'dodo', 'tete']
>>> a=name.remove('toto')  # 想将删除的toto让变量a 接收
>>> a  # 并没有接收成功

3 del 变量 : 直接从内容中删除

>>> name1
['qoqo', 'wowo', 'lala', 'lele', 'tete']
>>> del name1[0]  # 直接从内存中删除第一个元素
>>> name1
['wowo', 'lala', 'lele', 'tete']
8 列表元素的查看

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

>>> s = ['haha','lele','toto','toto','haha','toto']   # 定义列表
>>> s.count('toto')  # 查看toto在该列表中出现的次数
3
>>> s.count('lele') # 查看lele在该列表中出现的次数
1
>>> s.count('haha')   # 查看haha在该列表中出现的次数
2
>>> s.count('lala')    # 查看lala在该列表中出现的次数
0

2 index(元素,start,stop)) :查看指定元素的索引值,并返回最小索引,也可以指定在一定的索引范围内搜索指定的元素,返回最小索引值。

>>> s
['haha', 'lele', 'toto', 'toto', 'haha', 'toto']  # 定义列表
>>> s.index('toto')  # 不指定的话在全列表中搜索toto 并返回最小索引
2
>>> s.index('toto',3,4)   # 在指定的索引范围内 搜索toto,并返回最小索引
3
>>> s.index('toto',3,5)  # 在指定的索引范围内 搜索toto,并返回最小索引
3
9 列表元素的排序

默认是按照Ascii码进行排序的
sort() #正序
sort(reverse=True) #倒序
sort(key=str.upper) # 忽略大小写

>>> s  = ['a','f','A','H']   # 定义字符串
>>> s.sort()  # 按照ascii 码进行排序
>>> s
['A', 'H', 'a', 'f']   # 排序结果
>>> s.sort(reverse=True)  # 倒叙=倒序
>>> s
['f', 'a', 'H', 'A']   # 排序结果
>>> s.sort(key=str.upper)  # 忽略大小写进行排序
>>> s
['a', 'A', 'f', 'H']  #排序结果
>>> 
10 随即打乱列表中元素的顺序

import random # 安装模块
random.shuffle(列表) # 打乱列表中元素的顺序

>>> import random   # 加载模块
>>> a = list(range(10))  # 生成列表
>>> a
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]  # 列表原来的内容
>>> random.shuffle(a)   # 打乱列表元素顺序
>>> a
[2, 0, 7, 3, 6, 4, 1, 9, 5, 8]   # 打乱之后的列表
>>> b = ['c','d','e','f','g']     # 列表原来的内容
>>> random.shuffle(b) 
>>> b
['c', 'g', 'f', 'e', 'd']  # 打乱之后的列表

练习:

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

num = input('请按照格式X,Y,Z 依次输入数字  :  ')
num1 = num.split(',')
result = []
for i in num1 :
    result.append(int(i))
result.sort()
for k in result:
    print('%d\t' %(k) ,end='')

标签:name,python,toto,元素,lala,列表,haha
来源: https://blog.csdn.net/shang_feng_wei/article/details/90550435

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有