day3

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)
print("%d" % 6688)

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) + ".")

格式化字符串

%格式化

占位符

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

% 格式化字符串 用%匹配参数,注意个数一一对应
“%d%%” % a
‘100%’

>>> print("His name is %s,his age is %d" % (name,age))
His name is TOM,his age is 18
>>> print("His name is",name,"his age is" ,age,".")
His name is TOM his age is 18 .
>>> print("His name is "+ name +",his age is "+ str(age) + ".")
His name is TOM,his age is 18.

format格式化

1)位置映射

print("{}:{}".format('Tom',18))

print("Name:{},age:{}".format('Tom',18))

2)关键字映射


print("Name:{},age:{},{address}".format('Tom',18, address = "gongshu,hangzhou")) #关键字放在位置参数的后面
print("{address},Name:{},age:{},".format('Tom',18, address = "gongshu,hangzhou"))

列表

列表是用方括号括起来的[],每个元素以逗号分隔;

可以储存不同的数据类型

特点:

-是一个有序的

-可以重复的

-可变类型

创建

-创建空列表

li = []
print(type(li))

-创建多元素列表

i = [1,2,3,"sasa","city","collage",["i","love","python"]]
print((li,type(li)))

-强转

sr = 'abcd'
li = list(sr)
print(li,type(li))

1)拼接

li1 = ["i"]
li2 = ["am","A"]
print(li1 + li2)

# ['i', 'am', 'A']

2)重复

print(li2 *3)
#['am', 'A', 'am', 'A', 'am', 'A']

3)索引(偏移)[], 切片[:],[::]

li = ["c","i","t","y","city","collage","zhejiang",["city","collage","zhejiang"]]
print(len(li))
print((li[0],li[-7]))
print(li[:5])
print(li[::-1])
print(li[7][1])


8
('c', 'i')
['c', 'i', 't', 'y', 'city']
[['city', 'collage', 'zhejiang'], 'zhejiang', 'collage', 'city', 'y', 't', 'i', 'c']
collage


4)列表的常见操作

增删改查

1.增

-append()

-extend()

-insert()
li = ["city","collage"]
print(id(li))
li1 = ["a","b","c"]
li.append(li1)
print((li,id(li)))
li1 = ["a","b"]
print(id(li))

sr = "城市学院"
li = []
for i in sr:    
    li.append(ord(i))
   print(li)


2159465076360
(['city', 'collage', ['a', 'b', 'c']], 2159465076360)
2159465076360
[22478, 24066, 23398, 38498]

li = ["city","collage"]
li1 = ["a","b","c"]
li.extend(li1)
print(li)

li.insert(1,li1)
print(li)

li[5] = "6666"
li[2:6] = ["x","y","z"]
print(li)

删除

pop() ,返回被删除的元素

  如果不指定索引,默认删最后一个元素

  删除指定索引对应的元素
li = ["a","b","c","d"]print(li.pop())print(li)
remove()移除第一次遇到的指定元素
li = ["a","b","c","d","d"]
print(li.remove("d"))
print(li)
del() 删除指定元素
li = ["a","b","c","d","d","aaa"]
del li[5]
print(li)


li.clear()
print(li)
clear() 清空

索引,切片

遍历

(1)元素遍历

li = ["a","b","c","d","d","aaa"]
for i in li:    
	print(i)

(2)索引遍历

li = ["a","b","c","d","d","aaa"]
for i in range(len(li)):    
	print(li[i])

(3)枚举遍历

enumerate(),对于一个可迭代的/可遍历的对象(列表,字符串等),

enumerate() 将其组成一个索引序列,利用它,我们可以同时获得索引和值

li = ["a","b","c"]
for i in enumerate(li):    
	print(i)
   
(0, 'a')
(1, 'b')
(2, 'c')

li = ["a","b","c"]
for index, value in enumerate(li[:2],2):
    print(index,value)

2 a
3 b

堆和栈,用列表实现

其他操作

计数,count(),查找元素出现的次数

反转,reverse()
li = list("abcd")
print(li)li.reverse()
print(li)

li.sort()
print(li)
li.sort(reverse=True)
print(li)
排序,sort()

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

li = []

while True:
    i = input("请输入:")

    if i == "q":
        print(li)
        break
    li.append(i)

2.随机生成30个0-10 的随机整数,并统计每个数出现的次数

	返回结果的形式为[[0,3],[1,4]]
import random
rand_int = []
result_li = []
for i in range(30):    
    rand_int.append(random.randint(0,10))
print(rand_int)
sum = 0
for i in range(0,11):    
    result_li.append([i,rand_int.count(i)])    
    sum += rand_int.count(i)
print(result_li)
print(sum)
赋值与深浅拷贝

拷贝

import copy
la =[1,2,3,4,5,'a',['b1','b2']]
lb_copy = copy.copy(la)
la[6][0] = "bbb"
print(la)
print(lb_copy)

深拷贝

import copy
la =[1,2,3,4,5,'a',['b1','b2']]
lb_deepcopy = copy.deepcopy(la)
print(la,id(la))
print(lb_deepcopy,id(lb_deepcopy))

la[6][1] = "aaa"
print(la)
print(lb_deepcopy)

[1, 2, 3, 4, 5, 'a', ['b1', 'b2']] 2275933574856
[1, 2, 3, 4, 5, 'a', ['b1', 'b2']] 2275933576136
[1, 2, 3, 4, 5, 'a', ['b1', 'aaa']]
[1, 2, 3, 4, 5, 'a', ['b1', 'b2']]

浅拷贝相当于我们只拷贝了一层,修改外层元素,会修改引用,让他们指向另一个位置;

修改嵌套列表的元素,列表地址没有发生变化,指向的还是同一个位置

(会跟着一起变)

深拷贝拷贝对象的所有元素,包括多层嵌套的元素。因此,是开辟了一个新的内存存储区,和数据源没有关系了

元组

有序

可以重复

不可更改

符号使用

定义:用圆括号包裹的一组元素值,逗号隔开

创建

空元组的创建,不能添加元素
tup1 = ()
单元素元组的创建,需要在单元素后面添加逗号
tup1 = (50,)
多元素元组的创建,包含多种数据类型

1)拼接

2)重复

3)索引(偏移) 切片

字符串列表元组
join()-append()
-extend()
-insert()
\
sr.strip()pop()
remove()
del()
clear()
\
replace(old, new)
lower()
upper()
title()
capitalize()
li[5] = "6666"
li[2:6] = [“x”,“y”,“z”]
\
查/遍历print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])
for i in li: print(i)
for i in range(len(li)): print(li[i])
for index, value in enumerate(li[:2],2): print(index,value)
和列表相同
创建var1 = 'Hello World!li = [],li = [1, 2, 3, 4, 5 ]tup1 = (),tup1 = (50,)
拼接var1[:6] + var2(li1 + li2)tup1 + tup2
索引print(len(str))
print(str[2])
print(len(li))
print((li[0],li[-7]))
print(li[:5])
print(li[::-1])
和列表相同
计数count(str, beg= 0,end=len(string))count()
互相转换var=‘abcd’ list=[] list=[i for i in var]
tup=tuple(var)
var1=’ ,’.join(list)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值