目录
- 一、输入
- 1.1 输入单个数字
- 1.2 输入一行多个数字
- 1.3 输入两个字符,以空格分开,分别赋值
- 1.4 输入1行字符,以空格分开,赋值给列表
- 1.5 输入n行,每行m个字符,以list存储
- 二、数据的创建,转化,排序
- 2.1 set 容器
- 2.2 zip 函数
- 2.3 map 函数
- 2.3 dict 函数
- 2.4 sorted 排序
- 2.4.1 按某一参数排序
- 2.4.2 按多个参数排序
- 2.5 sort排序
- 2.5.1 按某一元素排序
- 2.6 将两个列表合并
- 2.7 列表的转置
- 2.8 创建为0的数据
- 2.9 ASCII码
- 三、数据的遍历和索引
- 3.1 enumerate的用法
- 3.2 for循环
- 3.2.1 从后往前
- 3.2.2 for _ in range(n):
- 3.3 遍历字典
- 3.4 列表的索引
- 四、输出
- 4.1 带空格输出
- 4.2 join函数去除格式
- 4.3 字典型列表格式化输出
- 4.4 列表倒序输出
- 4.5 列表不带格式输出
- 4.6 列表解包输出
- 五、各种数据的检查
- 5.1 判断TreeNode是否为空
- 5.2 空列表空串检查
- 5.3 字符串空格检查
一、输入
1.1 输入单个数字
n = int(input())
1.2 输入一行多个数字
a = list(map(int,input().split()))
1.3 输入两个字符,以空格分开,分别赋值
n,m = list(map(int,input().split()))
print("n=",n," m="m)
input:
2 3
output:
n= 2 m= 3
1.4 输入1行字符,以空格分开,赋值给列表
m = input.split(' ') #可以读取空格
m= (list(map(str,input().split()))) #删除空格
1.5 输入n行,每行m个字符,以list存储
w = []
for i in range(n):
w.append(list(map(int, input().split())))
print(w)
input:
0 0 4 4
1 1 5 5
2 2 6 6
output:
[[0, 0, 4, 4], [1, 1, 5, 5], [2, 2, 6, 6]]
二、数据的创建,转化,排序
2.1 set 容器
去掉相同的数 , 并按从小到大排序
a = list(map(int, input().split()))
b = list(set(a))
print(b)
input:
10 1 10 20 30 20 8 9 8
output:
[1, 8, 9, 10, 20, 30]
2.2 zip 函数
a = [1, 2, 3]
b = [4, 5, 6]
zipped = zip(a, b)
print(list(zipped))
output:
[(1, 4), (2, 5), (3, 6)]
2.3 map 函数
map() 会根据提供的函数对指定序列做映射。
map(function, iterable, …)
- function – 函数
- iterable – 一个或多个序列
a = [1, 2, 3, -1]
b = map(abs, a)
print(list(b))
[1, 2, 3, 1]
2.3 dict 函数
详细描述见链接: link.
a = [1, 2, 3]
b = [4, 5, 6]
s = dict(zip(b, a))
print(s)
output:
{4: 1, 5: 2, 6: 3}
2.4 sorted 排序
2.4.1 按某一参数排序
顺序为是从小到大,逆序可用reverse=True
d= {'lilee':25, 'age':24, 'phone':12}
d1 = sorted(d.items(), key=lambda item:item[1])
print(d1)
output:
[('phone', 12), ('age', 24), ('lilee', 25)]
[('lilee', 25), ('age', 24), ('phone', 12)]
2.4.2 按多个参数排序
注意当参数的排序不一致时,用加**-**使其一致
a = {'12':25, '23':24, '14':12}
a = sorted(a.items(), key=lambda x: (x[0], -x[1]))
print(a)
output:
[('12', 25), ('14', 12), ('23', 24)]
2.5 sort排序
mylist = [8,5,6,10]
mylist.sort()
print(mylist) #[5, 6, 8, 10]
mylist.sort(reverse=True) #[10, 8, 6, 5]
print(mylist)
2.5.1 按某一元素排序
mylist = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 获取列表的第二个元素
def takeSecond(elem):
return elem[1]
mylist.sort(key = takeSecond)
print(mylist)
2.6 将两个列表合并
l1 = list([1, 2, 3, 4])
l2 = list([5, 6, 7, 8])
com1 = [list(t) for t in zip(l1,l2)]
com2= [l1] + [l2]
print(com1)
print(com2)
output:
[[1, 5], [2, 6], [3, 7], [4, 8]]
[[1, 2, 3, 4], [5, 6, 7, 8]]
2.7 列表的转置
无法直接取二维列表的某一列,要么将其转化为numpy,要么将其进行转置
def transformMatrix(m):
# 逆向参数收集,将矩阵中多个列表转换成多个参数,传给 zip
return list(zip(*m))
alist = [[1,2,8,9],[2,4,9,12],[4,7,10,13],[6,8,11,15]]
blist = [[1,2,8,9],[2,4,9,12],[4,7,10,13]]
print(transformMatrix(alist))
print(transformMatrix(blist))
output:
[(1, 2, 4, 6), (2, 4, 7, 8), (8, 9, 10, 11), (9, 12, 13, 15)]
[(1, 2, 4), (2, 4, 7), (8, 9, 10), (9, 12, 13)]
2.8 创建为0的数据
#一维
list1 = [0 for i in range(4)] #[0, 0, 0, 0]
#二维
list2 = [[0]*2 for i in range(3)] #[[0, 0], [0, 0], [0, 0]]
2.9 ASCII码
数字0~9在ascii表里的编码范围是48~57
小写字母在ascii表里的编码范围是97~122
大写字母在ascii表里的编码范围是65~90
三、数据的遍历和索引
3.1 enumerate的用法
- enumerate()是python的内置函数
- enumerate在字典上是枚举、列举的意思
- 对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
- enumerate多用于在for循环中得到计数
例如对于一个seq,得到:
if __name__ == '__main__':
list = [(1, 1), (2, 2), (3, 3), (4, 4)]
for i, j in enumerate(list):
print(i, j)
for i, (x, y) in enumerate(list):
print(i, ": ", x, y)
output:
0 (1, 1)
1 (2, 2)
2 (3, 3)
3 (4, 4)
0 : 1 1
1 : 2 2
2 : 3 3
3 : 4 4
3.2 for循环
3.2.1 从后往前
lists = [0, 1, 2, 3, 4, 5]
# 输出 5, 4, 3, 2, 1, 0
for i in range(5, -1, -1):
print(lists[i])
3.2.2 for _ in range(n):
只在乎循环的次数
for _ in range(2):
print("count1")
output:
count1
count1
3.3 遍历字典
Star = ['Eason', 'Billie', 'Sia', 'Morty']
Flag = [10, 8, 24, 0]
info = dict(zip(Star,Flag))
#第一种方法
for k, v in info.items():
print(k, v)
#第二种方法
for key in info:
print(key+':'+info[key])
3.4 列表的索引
若数据不在列表中会报错,因此要加上前提条件
mylist = [1,2,3,4,5]
num = 3
if num in mylist:
pos = mylist.index(num)
print(pos)
output:
2
四、输出
4.1 带空格输出
print(number, end=' ') #输出带空格
4.2 join函数去除格式
lists=['I','love','China']
print(" ".join(lists))
output:
I love China
4.3 字典型列表格式化输出
a = {'12':25, '23':24, '14':12}
a = sorted(a.items(), key=lambda x: (x[0], -x[1]))
for i, j in a:
print(str(i)+' '+str(j))
output;
12 25
14 12
23 24
4.4 列表倒序输出
a = [1,2,3,4,5]
b = a[::-1]
print(b) #[5, 4, 3, 2, 1]
a.reverse()
print(a)[5, 4, 3, 2, 1]
4.5 列表不带格式输出
ss = [[1,2],[3,4],[5,6]]
for i in range(len(ss)):
print("%s %s"%(ss[i][0],ss[i][1]))
output;
1 2
3 4
5 6
4.6 列表解包输出
num = ['243']
print(int(*num)) #243
五、各种数据的检查
5.1 判断TreeNode是否为空
#TreeNode形式
class TreeNode:
def __init__(self, x):
self.val = x
self.left = None
self.right = None
#用is None判断
if l1 is None:
#用 not判断
if not t2
5.2 空列表空串检查
if not strs:
return ""
5.3 字符串空格检查
if s.isspace(): #由空格组成
return 0
最后
以上就是激昂蛋挞最近收集整理的关于python:外部数据的输入,转化,遍历,输出的全部内容,更多相关python:外部数据内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复