本文目录一览:
用python解决列表问题?
实现如下仅供参考:
def flat(nums):
res = []
for i in nums:
if isinstance(i, list):
res.extend(flat(i))
else:
res.append(i)
return res
s=[201,[1,2,3],201,[1,2,3,4,5],202,[1,2,3,4,5,7]]
s=flat(s)
print(s)
输出:
[201, 1, 2, 3, 201, 1, 2, 3, 4, 5, 202, 1, 2, 3, 4, 5, 7]
Python 基础知识全篇-列表(Lists)
示例
列表是元素的集合,存储在一个变量中。列表中存储的元素类型没有限制,下面是列表的一个简单例子。
命名和定义列表
因为列表是对象的集合,所以给它们一个复数的名称是很好的做法。如果列表中的每一项都是一个 car, 就命名列表为 'cars'。这样给你了一种直接的方式代表列表('cars'),(’dog‘)指代列表项。
在 Python 中,用中括号定义一个列表。如下所示:
访问列表元素
列表中的元素通过位置来标识,从零开始。访问列表中的第一个元素,如下所示:
括号中的数字为列表的索引(index)。因为列表索引从0开始,列表元素的索引总是比它的位置小。因此 Python 被称为 zero-indexed 语言(诸如 C, Java)。
因此访问第二个元素,我们需要用索引1,以此类推。
访问列表中最后一个元素
访问列表中的最后一个元素,可以用索引 -1。
访问倒数第二个,倒数第三个也可以用这种语法。
但是你不能用一个绝对值大于列表长度的负数访问。
动手试一试
First List
在列表中存储 'python','c','java'。利用它们的位置打印出列表元素值。
First Neat List
在列表中存储 'python','c','java',对每一项,打印一条关于它的语句。
你的语句可以简单的写成,'A nice programming language is value'。
Your First List
定义一个自己的列表,包含3或4个元素,打印一条至少包含一项元素的语句。你的语句可以简单的写成,'One item in my list is a__.'。
Python列表操作
1、append()
append()对于列表的操作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;
m.append(元素A)
2、extend()
extend()对于列表的操作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;
m.extend([元素A,元素B,……])
3、insert()
insert()对于列表的操作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。
m.insert(A,元素B):表示在列表m里面的第A+1处加入元素B
1、m.remove()
m.remove的作用是移除掉列表m里面的特定元素;
m.remove(元素A)
2、del m[n]
它的作用是删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种操作语句。
del m[n]
3、m.pop()
它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉
1、Temp=m[n]
获取m列表第n+位置处的元素
1、Temp=m[A:B]
表示将m列表里从索引号位置为A开始的元素到B-1处元素之间的列表获取赋给temp.
1、+:它主要实现的是多个列表之间的拼接
常见的列表操作符
2、*:主要实现的是列表的复制和添加
3、比较,:主要进行数据型列表的元素比较
4、and等:;逻辑运算符,可以进行列表之间的逻辑判断
1、m.count(A):输出元素A在列表m里面出现的次数
2、m.index(A):输出元素A在列表m里面的索引位置号
m.index(A,a,b):对于列表m里面包含多个元素A时,输出在列表m索引号a-b之间的特定索引号
3、m.reverse():将列表m进行前后的翻转,前变后,后变前
4、m.sort():将列表m里面地数据进行从小到大的排列
5、m.sort(reverse=True):将列表m里面地数据进行从大到小的排列
其实对于列表m里面的元素进行从大到小的排列还可以用以下方法:
N=m.sort()
N.reverse()
1) 深拷贝:
M=[A,b,a,c]
N=M[:]
2) 浅拷贝:
N=M
用python来解决列表问题?
虽然实现的方式不优雅,但确实能够解决你的问题,代码如下:
def plastic(l):
l_sort = sorted(l)
result = list(range(len(l)))
for n,i in enumerate(l_sort,1):
result[l.index(i)] = n
return result
S=[[5,4,3,2,0],[6,5,4,0,1],[0,6,5,1,2],[1,7,6,0,3]]
S=list(map(plastic,S))
print(S)
输出:
[[5, 4, 3, 2, 1], [5, 4, 3, 1, 2], [1, 5, 4, 2, 3], [2, 5, 4, 1, 3]]
Python列表问题?
你也是个高手啊;
你用的不是python自带的IDLE中的交互模式,交互模式不需要print函数就可以出结果,但是其它的工具都是需要用print函数才能在控制台输出结果的。
把你第二行代码放入print( 代码 ) 里面就可以了