day03

print函数查看帮助文件

>>> help(print)
Help on built-in function print in module builtins:

print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file:  a file-like object (stream); defaults to the current sys.stdout.
sep:   string inserted between values, default a space.
end:   string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
print(value,...,sep=' ',end='\n',file=sys.stdout,flush=False)

等价于

print(value1,value2,...,valuen,sep=' ',end='\n',file=sys.stdout,flush=False)
>> a,b,c,*d=1,23,4,5,6
>>> a
1
>>> b
23
>>> c
4
>>> d
[5, 6]
>>>
>>> print(a,b,c,d)
1 23 4 [5, 6]
>>> print(a,b,c,d,sep'-')
  File "<stdin>", line 1
    print(a,b,c,d,sep'-')
                       ^
SyntaxError: invalid syntax
>>> print(a,b,c,d,sep='-')
1-23-4-[5, 6]
>>> x=666
>>> import sys
>>> sys.stdout(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: '_io.TextIOWrapper' object is not callable
>>> sys.stdout.write(x)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: write() argument must be str, not int
>>> sys.stdout.write(str(x))
6663

格式化字符串

%号格式化

占位符

格式描述
%d有符号的整数
%s字符串
%c字符及ASCll码
%o无符号八进制整数
%x%X无符号十六进制整数
%e%E浮点数,科学计数法
%f浮点数

输出百分数

a=100
print('%d%%'%a)#100%
name='Tom'
age=18
print('his name is %s,his age is %d'%(name,age))
print('his name is',name,'his age is',age,'.')
print('his name is'+ name +',his age is'+ str(age)+'.')
print('{address},name:{},age:{}'.format('Tom',18,address='hangzhou'))
print('第一个元素是{0[0]},第二个元素是{0[1]},第三个元素是{0[2]},\
第四个元素是{1[0]}'.format(('www','google','com'),('baidu.','j')))

his name is Tom,his age is 18
his name is Tom his age is 18 .
his name isTom,his age is18.
hangzhou,name:Tom,age:18
第一个元素是www,第二个元素是google,第三个元素是com,第四个元素是baidu.

列表

数组 特点:是一个有序的 、可重复的、可变类型

li1=[1,23,4]
li2=['s','d']
print(li1+li2) #拼接
print(li1*3)   #重复
ls=['w','w','wew','r',12]
print(len(ls))  #长度
print((ls[1],ls[4]))  #索引提取
print(ls[2][1]) 

[1, 23, 4, ‘s’, ‘d’]
[1, 23, 4, 1, 23, 4, 1, 23, 4]
5
(‘w’, 12)
e

#append
#extend
#insert
li1=["sad","你好"]
sr='城市学院'
li=[]
for i in sr:
    li.append(ord(i))#末尾添加对象
print(li)
li.extend(li1)#在后面添加
print(li)
li.insert(2,li1)#按照索引添加
print(li)

[22478, 24066, 23398, 38498]
[22478, 24066, 23398, 38498, ‘sad’, ‘你好’]
[22478, 24066, [‘sad’, ‘你好’], 23398, 38498, ‘sad’, ‘你好’]

# li[6]='123'#按照索引修改
# li[2:4]=[3,6]
# print(li)

#删除
#pop() 返回被删除的元素
#       如果不指定索引 默认删除最后一个元素
#       删除指定索引对应的元素
#remove()删除第一次遇到的指定元素
lu=['s','ss',1.35,23,'t','s']
print(lu.pop(2))
print(lu)
print(lu.remove('s'))
print(lu)
del lu[3]
print(lu)
lu.clear()
print(lu)#清空

遍历

#遍历
#元素遍历
li=['23','23',4]
for i in li:
    print(i)
#索引遍历
li=['23','23',4]
for i in range(len(li)):
    print(li[i])
#枚举遍历
#enumerate(),对于一个可迭代的/可遍历的对象
#           将其组成索引序列,;利用它,同时可以获得索引和值
li=['23','23',4]
for i in enumerate(li,6):
    print(i)
li=['23','23',4]
for index,value in enumerate(li[:3],3):
    print(index,value)
print([x for x in range(10) if x%2==0])#[0, 2, 4, 6, 8]

(6, ‘23’)
(7, ‘23’)
(8, 4)
3 23
4 23
5 4

排序

li=['we','waa','a','asdsd']
li.reverse()#反转
li.sort()#按照ascii码排序
li.sort(reverse=True)
print(li)

[‘we’, ‘waa’, ‘asdsd’, ‘a’]

1.input()函数实现往空列表中添加元素,当输入"q"的时候,结束输入,并返回列表。

# list1=[]
# while True:
#     a=input('添加元素 \t')
#     if a=='q':
#         break
#     else:
#         list1.append(a)
# print(list1)

2.随机生成30个0-10的随机整数,并统计每个数出现的次数,
返回的结果形式为[[0, 3], [1, 4], … , [10, 5]]

# s=[0]*11
# d=[]
# import random
# for i in range(30):
#     a=random.randint(0,10)
#     for j in range(11):
#         if a==j:
#             s[j]+=1
# for i in range(11):
#     d.append([i,s[i]])
# print(d)
#进阶版
# rand_int=[]
# result_int=[]
# for i in range(30):
#     rand_int.append(random.randint(0,10))
# for i in range(11):
#     result_int.append([i,rand_int.count(i)])
# print(result_int)

深浅拷贝

  • 三种实现方式
    • 切片操作[:]
    • 工厂函数list(li)
    • copy模块内的copy函数

import  copy
la=['s','wq',1,23,45,67,[44,56]]
lb_copy=copy.copy(la)
lb_deepcopy=copy.deepcopy(la)
print(la,id(la))
print(lb_copy,id(lb_copy))#浅拷贝
print(lb_deepcopy,id(lb_deepcopy))#深拷贝
la[6][1]=34
print(la)
print(lb_copy)
print(lb_deepcopy)
#深拷贝拷贝对象的所有元素,包括多层嵌套的元素
#因此,是开辟了一个新的内存存储区,和数据源没有关系了。

[‘s’, ‘wq’, 1, 23, 45, 67, [44, 56]] 19671040
[‘s’, ‘wq’, 1, 23, 45, 67, [44, 56]] 19670200
[‘s’, ‘wq’, 1, 23, 45, 67, [44, 56]] 48590600
[‘s’, ‘wq’, 1, 23, 45, 67, [44, 34]]
[‘s’, ‘wq’, 1, 23, 45, 67, [44, 34]]
[‘s’, ‘wq’, 1, 23, 45, 67, [44, 56]]

#三目运算符
y=10
x=y+1 if y>10 else y-1
print(x,y)


#带过滤功能格式
'''python
[exp for iter_val in iter if if_condtion]
'''
name=['Tom','Jack','Lucy']
subject=['python','java','c']
print([[i,j]for i in name for j  in subject])

9 10
[[‘Tom’, ‘python’], [‘Tom’, ‘java’], [‘Tom’, ‘c’], [‘Jack’, ‘python’], [‘Jack’, ‘java’], [‘Jack’, ‘c’], [‘Lucy’, ‘python’], [‘Lucy’, ‘java’], [‘Lucy’, ‘c’]]

元组

  • 可以重复的
  • 不可以更改
  • 符号使用()

定义

  • 元祖的创建
    • 空元组的创建,不能添加元素
    • 单元组的创建,需要在单元素后面添加逗号
    • 多元组的创建,包含多种数据类型
a=('a','b','c')
b=(1,2,3,4,[5,5])
b[4][1]=6#可修改最为元素的列表
print(a+b)
print(3*b)
print(b[1:3])

(‘a’, ‘b’, ‘c’, 1, 2, 3, 4, [5, 6])
(1, 2, 3, 4, [5, 6], 1, 2, 3, 4, [5, 6], 1, 2, 3, 4, [5, 6])
(2, 3)

  • 增,不能

  • 删,删除某个元素,不能;但可以全部删除

    重新调用不改变id 地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值