Python小常识

Python

  • 字符创截取包头不包尾
s = 'helloword'
# 截取[0:3],不包括3
s[0:3]
  • zip函数的使用

    把迭代对象进行打包输出,以迭代对象中的最小长度为准

s = ['123','456','789']
mt = zip(*s)
for item in mt:
    print(item)
    
('1', '4', '7')
('2', '5', '8')
('3', '6', '9')
  • 字符串取反
s = 'asdf'
s[::-1]
'fdsa'
  • 列表可以相加
s = ['123']
b = ['456']
d = '456'
## 第一种加和方法
s+b = ['123', '456']
## 第二种加和方法
s.append(d)
s = ['123', '456']
e = '789'
##  列表和字符串也可以相加 
s += e
s =  ['123', '456', '7', '8', '9']
  • collections模块

  • 列表打印
s
Out[5]: [['a', 1], ['b', 2], ['c', 3]]

for c , l in s:
    print(c,l)
    
a 1
b 2
c 3

for item in s:
    print(item)
    
['a', 1]
['b', 2]
['c', 3]
  • 字符串中用变量
name = 'zs'
print('my name is ' + name)
print('my name is %s'%(name))
print('my name is {myname}'.format(myname = name))

age = 25
print("my age is " + str(age))
print("my age is %d" %(age))
print("my age is {age}".format(age = age))

money = 122.25
print("my money is " + str(money))
print("my money is %f" %(money) )
print("my money is {money}".format(money = money))
print("my money is %.2f" %(money) )

结果如下:
################################################################################
my name is zs
my name is zs
my name is zs
my age is 25
my age is 25
my age is 25
my money is 122.25
my money is 122.250000
my money is 122.25
my money is 122.25
  • 2进制,8进制等函数

    binary 二进制的
    octal 八进制的
    hexadecimal 十六进制的
    decimal 十进制的

    将其他进制的数转换成十进制要首先去掉前缀,然后用**int(s,进制数)**进行转换

#N = 16
#print('2进制为',bin(N))
#print('8进制为',oct(N))
#print('16进制为',hex(N))

2进制为 0b10000
8进制为 0o20
16进制为 0x10
##执行以下命令
s = bin(2)
int(s[2:4],2)
  • 初始化一个长度确定的空列表
a = [0] *4

a
Out[27]: [0, 0, 0, 0]

b = list(range(4))

b
Out[29]: [0, 1, 2, 3]
    
    
  • typing模块
from typing import List
# typing是用来表示输入数据的数据结构,输出数据的数据结构
  • 创建二维数组
#正确做法1
DP = [([0] * n) for i in range(n)]
# 正确做法2
DP = [[0]*n,[0]*n,...,[0]*n]
# 错误做法 (why:用下面这种方法实际上是将一个列表复制四份,所以一动都动了)
dp = [[0] * N ] * N
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值