列表python
‘壹’ python列表方法
一个基本概念,你程序中的
reverse=True
是参数,不是语句,它不存在先执行的问题,就是给sort传递的一个参数(看下教程上函数的定义及使用)
对于列表的sort,reverse=True表示减序,而缺省为增序
‘贰’ python 列表 输出
按照你的要求编写的程序如下
a=[1,'科学通报',1,'催化学报',2,'化学研究与应用',2,'化工新型材料']
foriinrange(0,len(a),2):
print(str(a[i])+''+a[i+1])
源代码(注意源代码的缩进)
‘叁’ 什么是Python列表
列表是由一系列按特定顺序排列的元组组成的。在Python中,用[]来表示列表,并用逗号来分隔其中的元素。
列表、元组、字典的区别:
1、元组是不可变的,而列表、字典是可以改变的
元组是不可变对象,对象一旦生成,它的值将不能更改;列表是可变对象,对象生成之后,可以对其元素进行更改、添加、删除、清空、排序等操作;
2、元组通常由不同数据组成,而列表是相同的数据队列
元组表示的是结构,列表表示的是顺序,列表权限大于元组;
3、列表不能作为字典的key值,而元组可以,字典的键是唯一的。
‘肆’ Python中列表的方法有什么
Python中的列表内建了许多方法。在下文中,使用“L”代表一个列表,使用“x”代表方法的参数,以便说明列表的使用方法。
1 append()方法
列表的append()方法用于将一个项添加到列表的末尾,L.append(x)等价于L[len(L):] = [x]。
例如,使用append()方法分别将'cow'和'elephant'添加到animals列表的末尾:
>>>animals=['cat','dog','fish','dog']
>>>animals.append('cow')#等价于animals[4:]=['cow']
>>>animals
['cat','dog','fish','dog','cow']
>>>animals.append('elephant')#等价于animals[5:]=['elephant']
>>>animals
['cat','dog','fish','dog','cow','elephant']
>>>animals=['cat','dog','fish','dog']
>>>animals.(0,'cow')
>>>animals
['cow','cat','dog','fish','dog']
>>>animals.(3,'elephant')
>>>animals
['cow','cat','dog','elephant','fish','dog']
>>>animals=['cat','dog','fish','dog']
>>>animals.append(['cow','elephant'])#此处append()参数是一个列表
>>>animals
['cat','dog','fish','dog',['cow','elephant']]
>>>animals=['cat','dog','fish','dog']
>>>animals.extend(['cow','elephant'])#此处extend()参数也是一个列表
>>>animals
['cat','dog','fish','dog','cow','elephant']
>>>animals=['cat','dog','fish','dog']
>>>animals.remove('dog')
>>>animals
['cat','fish','dog']
>>>animals.remove('dog')
>>>animals
['cat','fish']
>>>animals.remove('dog')
Traceback(mostrecentcalllast):
File"",line1,in
ValueError:list.remove(x):xnotinlist
>>>animals=['cat','dog','fish','dog']
>>>animals.pop()
'dog'
>>>animals
['cat','dog','fish']
>>>animals.pop(2)
'fish'
>>>animals
['cat','dog']
>>>number=123
>>>mystring=str(number)#将返回值赋给变量mystring
>>>mystring
'123'
>>>animals=['cat','dog','fish','dog']
>>>new_animals=animals.append('cow')
>>>print(new_animals)
None
2 ()方法
列表的()方法用于将一个项插入指定索引的前一个位置。L.(0, x)是将x插入列表的最前面,L.(len(L)), x)等价于L.append(x)。
例如,使用()方法分别将'cow'和'elephant'插入animals列表:
3 extend()方法
列表的extend()方法用于将可迭代对象的所有项追加到列表中。L.extend(iterable)等价于L[len(L):] = iterable。extend()和append()方法的区别是,extend()方法会将可迭代对象“展开”。
例如,分别使用append()方法和extend()方法在animals列表后面追加一个包含'cow'和'elephant'的列表:
4 remove()方法
列表的remove()方法用于移除列表中指定值的项。L.remove(x)移除列表中第一个值为x的项。如果没有值为x的项,那么会抛出ValueError异常。
例如,使用remove()方法移除animals列表中值为'dog'的项:
5 pop()方法
列表的pop()方法用于移除列表中指定位置的项,并返回它。如果没有指定位置,那么L.pop()移除并返回列表的最后一项。
例如,使用pop()方法移除animals列表中指定位置的项:
在调用前面的列表方法后,并没有打印任何值,而pop()方法打印了“弹出”的值。包括append()、()、pop()在内的方法都是“原地操作”。原地操作(又称为就地操作)的方法只是修改了列表本身,并不返回修改后的列表。
在类型转换时使用的int()函数,str()函数都有返回值:
但是在使用“原地操作”时,大部分则不会有返回值,包括pop()方法也只是返回了被“弹出”的值,并没有返回修改后的列表:
关于Python的基础问题可以看下这个网页的视频教程,网页链接,希望我的回答能帮到你。
‘伍’ python字典列表和列表字典
最本质的区别:第一种方法得出的a是列表,而第二种的a是字典
用python语句表达来看就是:
1.type(a) == list
2.type(a) == dict
在交互式界面下显示:
第一种:
>>> a
[{'name':'fokil'}]
此时a是一个列表,他具有列表的一切方法和属性,但不具备任何字典的方法和属性。列表可以有N个元素,元素的类型是任意的,与列表本身无关。而此时的a有一个元素,该元素是一个字典——但这并不代表整个列表a带有任何字典的性质。明白?
第二种:
>>> a
{'name':['fokil']}
同上,此时a是一个字典,具有字典的一切方法和属性,但不具备任何列表的方法和属性。字典可以有N个元素,每个元素由一对key和内容的组合构成。key可以是任何单一对象的类型(不能是列表或字典——但可以是元组。当然,还可以是数字、字符/字符串,甚至是文件对象),而key对应的内容则可以是任意类型的。在此时,a中只有一个元素,key是一个字符串,而内容则是一个含有一个字符串元素的列表——同样,这不意味着a具有任何的列表性质
总而言之,严格的讲:没有“字典列表”或“列表字典”这种概念
只有一个列表,他包含的元素的类型是字典——当然,列表中的元素可以是不同类型的,譬如:
a = [1, 'test', [2,3,4], {'name':'fokil'}]
同理,只有一个字典,他包含的元素中的一部分是列表(当然,key部分不可能是列表)。当然,也有可能是不同类型的元素:
a = {1:'b',(1,2,3):[4,5,6],'test':{'test2':['test3']}}
‘陆’ Python 列表
是不是这个list让你感觉有些困扰呢,你看一下我下面的表示方式:
你的list和我的abc都是表示一个列表名。
del abc[1]:调用系统方法del,删除列表abc中索引为1的项;
abc.pop():调用列表(这里为abc)本身的方法pop(),删除abc列表的最后一项。
abc[1]中用方括号是列表的索引操作,为列表自身的规则;pop()中也可以传入参数用于表示索引位置,但此处为向方法内传入位置参数。
方法来源不一样,使用规则有差别。
‘柒’ python列表的特点
列表的特点
1.list(列表)是python中使用最频繁的数据类型,在其他的语言中通常叫做数组
2.专门用于存储一串信息
3.列表用[]定义,列表中的数据用“,”分割
4.列表的索引是从0开始
列表的操作
假设列表名为list
‘捌’ python列表list支持哪些操作
用python的列表生成式即可,列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。
‘玖’ python怎么创建列表
如何创建列表,或生成列表。这里介绍在python的基础知识里创建或转变或生成列表的一些方法。
零个,一个或一系列数据用逗号隔开,放在方括号[ ]内就是一个列表对象。
列表内的数据可以是多个数目,不同类型。
相关推荐:《Python视频教程》
利用函数list():
用 list([iterable])函数返回一个列表。
可选参数iterable是可迭代的对象,例如字符串,元组。list()函数将可迭代对象的元素重新返回为列表。
将字典类型数据作为参数时,返回的列表元素是字典的键。
将range()函数作为参数,返回一个整数元素的列表。
如果没有参数list()函数将返回一个空列表。
其他能生成列表的方法:
利用split分割字符串生成列表:
字符串调用split方法返回一个由分开的子串组成的列表。
利用列表推导式:
列表推导式,是生成列表的一种方便的表达式。
有关列表推导式,看下面的连接。
‘拾’ Python列表
#Python3.6
deflist_action():
#用单个大写字母表示省:A,B,C,...
#用省的大写字母开头的两个大写字母表示该省的市:AA,AB,AC,BA,CA,...
sheng=["A","B","C"]
shi=["AA","AB","AC","AD",
"BA","BB","BC","BD",
"CA","CB","CC","CD"]
#查询
deflocate_SS(sn,si):
status=[False,False]
try:
sheng.index(sn)
exceptValueError:
print("{}省市不在列表中。".format(sn))
returnstatus
else:
status[0]=True
try:
shi.index(si)
exceptValueError:
print("{}省在列表中,但{}市不在列表中。".format(sn,si))
returnstatus
else:
status[1]=True
print("{}省和{}市已经在列表中。".format(sn,si))
returnstatus
definsert_SS(sn,si):
st=locate_SS(sn,si)
ifst[0]isFalseandst[1]isFalse:
sheng.append(sn)
shi.append(si)
print("成功插入{}省,{}市。".format(sn,si))
elifst[0]andst[1]isFalse:
shi.append(si)
print("成功插入{}市。".format(si))
defdelete_SS(sn,si):
st=locate_SS(sn,si)
ifst[0]andst[1]:
shi.remove(si)
print("成功删除{}市。".format(si))
foriteminshi:
ifitem.startswith(sn):
return
sheng.remove(sn)
print("城市列表中已无{0}省的城市,删除{0}省。".format(sn))
else:
print("删除失败,输入城市错误。")
while(True):
print("输入操作如下:")
print("输入:省份城市名查询,查询省份城市")
print("输入:省份城市名添加,添加省份城市")
print("输入:省份城市名删除,删除省份城市")
print("输入:退出,退出。")
commond=input()
commond_list=commond.split()
iflen(commond_list)==1andcommond_list[0]=="退出":
exit()
eliflen(commond_list)==3:
sheng_,shi_,cmd=commond_list
ifcmd=="查询":
locate_SS(sheng_,shi_)
elifcmd=="添加":
insert_SS(sheng_,shi_)
elifcmd=="删除":
delete_SS(sheng_,shi_)
else:
print("输入操作有误,请重新输入。")
else:
print("输入操作有误,请重新输入。")
print()
if__name__=="__main__":
list_action()