Python基础语法回顾【1】

 

目录

常用输入

单个元素

一维数组

多行

一行

二维数组

什么是迭代器

逆序

数组逆序

字符串逆序

 输出百分比

定义无穷大与无穷小

 判断整次幂

创建空二维数组

二维字典(嵌套字典)



常用输入

单个元素

n,m=map(int,input().split())

一维数组

多行

arr=list(int(input()) for i in range(n))

arr=[int(input()) for i in range(n)]

效果一致。

一行

arr=list(map(int,input().strip().split()))

arr=[map(int,input().strip().split())]

效果不一致,为什么?

因为——第二组输出指针:

第二组用了map,返回的map对象是一个迭代器,并不会直接将元素转换为列表。

二维数组

mix=[list(map(int,input().split())) for i in range(n)]

mix=[]
for _ in range(n):
    mix.append(list(map(int,input().split())))

效果一致。 

什么是迭代器

想象你面前有一排盒子,每个盒子里都装着一个东西。你想要逐个查看每个盒子里装的是什么,但是你并不想一下子把所有盒子都打开摆在面前,而是想一个一个地打开查看,看完一个再看下一个。迭代器就像是帮助你完成这个过程的 “助手”。

在 Python 里,迭代器是一个可以记住遍历位置的对象,它会按照一定的顺序逐个返回元素,而且每次只返回一个元素,直到没有更多元素可以返回为止。

遍历:

# 定义一个列表
numbers = [1, 2, 3, 4, 5]
# 使用 map() 函数将列表中的每个元素乘以 2,得到一个迭代器
squared_iterator = map(lambda x: x * 2, numbers)

# 直接遍历迭代器
for num in squared_iterator:
    print(num)

逆序

数组逆序

reversed()和arr.reverse()。前者是一个逆序迭代器,后者直接更改原数组arr。

n=int(input())
arr=list(map(int,input().split()))
arr_rev=reversed(arr)   #迭代器
for i in arr_rev:
    print(i,end=" ")
'''
arr.reverse()           #直接改
print(" ".join(map(str,arr)))
'''

例题:数组逆序重放 - C语言网

字符串逆序

s = "Hello"
reversed_s = s[::-1]                #切片

s = "Hello"
reversed_s = ''.join(reversed(s))   #函数

输出百分比

print(f"{res:.2%}")

定义无穷大与无穷小

#第一种
min_start = float('inf')

#第二种
import math
max_distance = math.inf

 判断整次幂

#math包
math.log(x,2).is_integer()
#位运算
x&(x-1)==0

创建空二维数组

st1 = [[0] * N for _ in range(N)]

二维字典(嵌套字典)

        举例:统计每条对角线每个元素的数量:多个对角线——一层健;多个元素——二层健(一层值);每个元素数量——二层值。

        注意:空键值无法访问,需提前定义。

#一层定义
st1[line]={} 
#二层定义
st1[line][element]=0

更多优质学习内容——微信公众号“以学会友ing” 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值