Python学习笔记三(字符串、列表)

一、单引号、双引号和三引号

单引号‘’  括起来是一个字符串

双引号“”  括起来是一个句子

三引号‘’‘ ’‘’  括起来是一个段落(可换行)

【当使用发生歧义时,可用转移符号/】

my_str1 = 'I\'m a student'
print(my_str1)

my_str2 = "Jack said:\"I like you\""
print(my_str2)

my_str3 = 'Jack said:\"I like you\"'
print(my_str3)

运行结果:

 I'm a student
Jack said:"I like you"
Jack said:"I like you"

****

\\        反斜杠符号

\’        单引号

\”        双引号

\n        换行

\t        横向制表符

****

二、字符串的截取和连接

str = "beijing"
print(str)          #输出字符串
print(str[0:-1])    #输出第一个到倒数第二个的所有字符
print(str[0])       #输出字符串的第一个字符
print(str[2:5])     #输出从第三个开始到第五个的字符
print(str[2:])      #输出从第三个开始后的所有字符
print((str+" ")*2)  #输出字符串两次
print(str+",你好")   #连接字符串
print(str[:5])      #输出从第五个的字符前的所有字符
print(str[1:7:2])   #[起始位置:终止位置:步值]

运行结果:

 beijing
beijin
b
iji
ijing
beijing beijing 
beijing,你好
beiji
ejn

三、列表

1、列表的循环遍历

可以定义一个空的循环列表

列表中可以存储不同类型的数据(混合类型)

testlist = [21,"小刘",18,"小张"]

for test in testlist:
    print(test,end=" ")

print("")

i = 0
while i<len(testlist):
    print(testlist[i],end=" ")
    i += 1

运行结果:(两种遍历方法) 

21 小刘 18 小张 
21 小刘 18 小张 

2、列表的 增 删 改 查 排

(1)增

'''增:【append】、【extend】、【insert】'''
a = [1,2]
b = [3,4]

a.append(b)     #将列表当做一个元素,追加到a列表中
print(a)

a.extend(b)     #将b列表中的每一个元素追加到a列表中
print(a)

b.insert(1,5)   #第一个变量表示下标,第二个变量表示元素(对象)
print(b)        #指定下标位置插入元素

运行结果:

[1, 2, [3, 4]]
[1, 2, [3, 4], 3, 4]
[3, 5, 4]

 (2)删

'''删:【del】、【pop】、【remove】'''
movieName = ["加勒比海盗","第一滴血","指环王","速度与激情","指环王","骇客帝国"]

del movieName[1]        #在指定位置(下标)删除一个元素
print(movieName)

movieName.pop()         #弹出列表末尾的最后一个元素
print(movieName)

movieName.remove("指环王") #直接删除指定内容的元素(只删除第一个指定内容元素)
print(movieName)

运行结果:

['加勒比海盗', '指环王', '速度与激情', '指环王', '骇客帝国']
['加勒比海盗', '指环王', '速度与激情', '指环王']
['加勒比海盗', '速度与激情', '指环王']

 ***列表中可以出现重复元素***

(3)改

a = [1,2,3,4,5,6]
a[1] = 10       #修改指定下标的元素内容
print(a)

运行结果:

 [1, 10, 3, 4, 5, 6]

(4)查

'''查:【in】、【not in】'''
a = ["小李","小红","小王","小张"]

name = input("请输入要查找的学生姓名:")
if name in a:
    print("在学生列表中找到了相同的名字")
else:
    print("没有找到")

运行结果:

请输入要查找的学生姓名:小王
在学生列表中找到了相同的名字

请输入要查找的学生姓名:小刘
没有找到

#查找
mylist = ["a","b","c","a","b"]

print(mylist.index("a",1,4))    #可以查找指定下标范围的元素,并返回找到对应数据的下标
                                #范围区间 左闭右开 【1,4) 找不到会报错

print(mylist.count("b"))        #统计某个元素在列表中出现了几次

运行结果:

3
2

(5)排(排序)

a = [4,2,1,5,3]

a.reverse()             #将列表中所有元素反转
print(a)

a.sort()                #升序
print(a)

a.sort(reverse=True)    #降序
print(a)

运行结果:

[4, 2, 1, 5, 3]
[3, 5, 1, 2, 4]
[1, 2, 3, 4, 5]
[5, 4, 3, 2, 1]

四、八个老师被随机分在三个办公室,输出每个办公室的人数及姓名

import random

offices = [[],[],[]]
teachers = ["A","B","C","D","E","F","G","H"]

for teacher in teachers:
    index = random.randint(0, 2)
    offices[index].append(teacher)      #将教师随机添加在三个办公室中

i = 1
for office in offices:                  #遍历办公室
    print("办公室%d的人数为:%d人"%(i,len(office)))
    for teacher in office:              #遍历办公室中的老师
        print(teacher,end="\t")
    i += 1
    print("")
    print("-"*20)

 运行结果:

办公室1的人数为:2人
G    H    
--------------------
办公室2的人数为:2人
C    F    
--------------------
办公室3的人数为:4人
A    B    D    E    
--------------------

五、打印出商品列表,根据列表写一个循环,不断询问用户想买什么,用户选择一个商品编号,就把对应的商品添加到购物车中,最终用户输入q时退出,打印购买的商品列表

products = [["iphone",6888],["MacPro",14800],["小米6  ",2499],["Coffee",31],["Book  ",60],["Nike  ",699]]

print("-"*8+"商品列表"+"-"*8)

i = 0
for product in products:
    print(i,"\t",product[0],"\t",product[1])
    i += 1

print("-"*8+"挑选商品"+"-"*8)
buys = []
while 1:
    nums = input("请输入添加到购物车中的商品序号:")
    if nums != "q":
        buys.append(nums)
    else:
        break

print("-"*8+"购买列表"+"-"*8)
print("选购的商品为:")
for buy in buys:
    print(products[int(buy)],end="\n")

 运行结果:

--------商品列表--------
0      iphone      6888
1      MacPro      14800
2      小米6        2499
3      Coffee      31
4      Book        60
5      Nike        699
--------挑选商品--------
请输入添加到购物车中的商品序号:0
请输入添加到购物车中的商品序号:3
请输入添加到购物车中的商品序号:5
请输入添加到购物车中的商品序号:q
--------购买列表--------
选购的商品为:
['iphone', 6888]
['Coffee', 31]
['Nike  ', 699]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值