Python基础之容器1----字符串和列表
一、编码:
1、编码只是梳理
2、编码涉及的函数:
3、实例:
字符串内存图
二、字符串
1、定义:由一系列字符组成的不可变序列容器,存储的是字符的编码值。
不可变:指字符串一旦定义,其内存地址就已经确定不能改变
序列:指字符的编码在内存中按照一定的顺序存储
2、字符串的字面值:
(1)单双引号:
(2)三引号:
(3)转义字符:
3、字符串格式化:
实例:
二、列表
1、列表定义:
内存图:
2、创建列表:
3、添加列表元素:
4、删除列表元素:
5、定位元素:
6、遍历元素:
三、容器通用操作
1、数学运算
实例:
2、成员运算:
实例:
3、索引(index)
索引内存图
实例:
4、切片
实例
四、综合实例演练
练习1:在控制台中获取一个字符串,打印每个字符的编码值.
str_input = input("请输入文字:")
for item in str_input:
print(ord(item))
练习2:在控制台中循环输入编码值,显示字符.直到输入负数时,退出.
while True:
number = int(input("请输入编码值:"))
if number < :
break
print(chr(number))
练习3:在控制台中,获取一个字符串.
1. 打印第一字符
2. 打印最后一个字符
3. 如果是奇数,打印中间的字符串(len(字符串))
4. 打印倒数3个字符
5. 倒叙打印字符串
str_input = input("请输入字符串:")
#. 打印第一字符
print(str_input[])
# print(str_input[-len(str_input)])
#. 打印最后一个字符
print(str_input[-])
# print(str_input[len(str_input) - ])
#. 如果是奇数,打印中间的字符串(len(字符串))
if len(str_input) % == :
print(str_input[len(str_input) // 2])
#. 打印倒数3个字符
print(str_input[-:])
#. 倒叙打印字符串
print(str_input[::-])
练习4:在控制台中输入一个整数,根据整数打印一个矩形,要求如下
""" 输入整数: 4
****
* *
* *
****
"""
number = int(input("请输入:"))
# 头
print("*" * number)
# 中间
for i in range(number -):
print("*" + " "*(number - ) +"*")
# 尾
print("*" * number)
练习5:在控制台中录入学生成绩,计算总分,最高分,最低分。
“请输入学生总数:”
“请输入第1个学生成绩:”
stu_count = int(input("请输入学生总数:"))
list01 = []
for i in range(stu_count):
score = int(input("请输入第%d个学生成绩:"%(i+)))
list01.append(score) print("总分:%d."%(sum(list01)))
print("最高分:%d."%(max(list01)))
print("最低分:%d."%(min(list01)))
练习6:在控制台中录入学生姓名。
要求:姓名不能重复
如果录入esc,则停止录入,打印每个学生姓名
list_names = [] while True:
name = input("请输入第%d个学生姓名:" % (len(list_names) + ))
if name == "esc":
break
# 如果姓名不存在:
if name not in list_names:
list_names.append(name) for item in list_names:
print(item)
练习7.获取最大/最小值
list01 = [, , , , , , , , , ]
# 假设第一个元素就是最大值
max = list01[]
# 依次与后面(从第二个开始)元素进行比较
for i in range(,len(list01)):
# 发现更大的,则替换假设的.
if max < list01[i]:
max = list01[i]
# 最后假设的就是真的最大值.
print(max)
练习8: 在控制台中循环录入字符串,输入q时退出.然后显示一个新的字符串.
list_result = []
while True:
str_input = input("请输入:")
if str_input =="q":
break
# str_result = str_result + str_input
# (1)使用列表拼接
list_result.append(str_input) #() 使用join合并
str_result = "".join(list_result)
print(str_result)
练习9:判断字符串是否是回文:
上海自来水来自海上
奶牛产牛奶
提示:字符串翻转 str01[::-1]
while True:
Str1 = input('请输入一个字符串:')
if Str1 == 'q':
break
else:
Str2 = Str1[::-]
if Str1 == Str2:
print('“%s”是回文字符串' % Str1)
else:
print('“%s”不是回文字符串' % Str1)
练习10: 一注彩票7个球
前六个是红球:1 -- 33 之间的数字,且不能重复.
最后一个是蓝球:1 -- 16 之间的数字
(1) 在控制台中购买彩票
ticket = []
# 前六个红球:
while len(ticket) < :
number = int(input("请输入第%d个红球号码:"%(len(ticket) + )))
if number < or number > :
print("不再范围内")
elif number in ticket:
print("该号码已经存在")
else:
ticket.append(number)
# 蓝球:
while True:
number = int(input("请输入蓝球号码:"))
if <= number <= :
ticket.append(number)
break # 退出循环
else:
print("不再范围内") print(ticket) # 只是将列表转换为字符串 再显示 # 获取每个元素
# for item in ticket:
# print(item)
(2) 随机产生一注彩票
import random ticket = []
while len(ticket) < :
number = random.randint(,)
if number not in ticket:
ticket.append(number) # 排序
# ticket.sort() # number = random.randint(,)
# ticket.append(number)
ticket.append(random.randint(,)) # 需求:对列表执行范围的元素进行排序
# ()通过切片返回新列表
temp = ticket[:]
# ()对新列表进行排序
temp.sort()
# ()将新列表赋值给原列表
ticket[:] = temp print(ticket)
Python基础之容器1----字符串和列表的更多相关文章
- python基础深入(元组、字符串、列表、字典)
python基础深入(元组.字符串.列表.字典) 一.列表 1.追加 >>>list = [1,2,3,4] #用于在列表末尾添加新的对象,只能单个添加,该方法无返回值,但是会修改原 ...
- python基础之数字、字符串、列表、元组、字典
Python基础二: 1.运算符: 判断某个东西是否在某个东西里面包含: in 为真 not in 为假 (1).算术运算符: 运算符 描述 实例 + 加 表示两个对象相加 a + b输出结果3 ...
- Python基础灬序列(字符串、列表、元组)
序列 序列是指它的成员都是有序排列,并且可以通过下标偏移量访问到它的一个或几个成员.序列包含字符串.列表.元组. 字符串 chinese_zodiac = '鼠牛虎兔龙蛇马羊猴鸡狗猪' print(c ...
- 2.python基础深入(元组、字符串、列表、字典)
一,对象与类 对象: python中一切皆为对象,所谓对象:我自己就是一个对象,我玩的电脑就是对象,玩的手机就是对象. 我们通过描述属性(特征)和行为来描述一个对象的. 在python中,一个对象的特 ...
- python基础(变量,字符串,列表,元组)
#列表的操作list1 = ['wuqiang','lichang','changhao'] #列表的定义print(list1) #操作列表print(list1[-1]) #操作列表的最后一位li ...
- MOOC python笔记(三) 序列容器:字符串、列表、元组
容器概念 容器是Python中的重要概念,分为有序与无序. 有序容器也称为序列类型容器,如:字符串.列表. 通用序列容器操作 容器连接+ 加号可以把两个序列连接成一个更大的容器,相加后两个序列的值并不 ...
- Python基础教程之第2章 列表和元组
D:\>python Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32 Typ ...
- Python【第二课】 字符串,列表,字典,集合,文件操作
本篇内容 字符串操作 列表,元组操作 字典操作 集合操作 文件操作 其他 1.字符串操作 1.1 字符串定义 特性:不可修改 字符串是 Python 中最常用的数据类型.我们可以使用引号('或&quo ...
- python基础一数据类型之字符串
摘要: python基础一中有字符串,所以这篇主要讲字符串. 一,字符串的注释 二,字符串的索引与切片 三,字符串的方法 一,字符串的注释 单引号 双引号 三引号都可以用户定义字符串.三引号不仅可以定 ...
- Python基础知识之认识字符串
Python有一个名为“STR”与许多方便的功能(有一个名为“串”,你不应该使用旧的模块),内置的字符串类. 字符串常量可以通过双或单引号括起来,尽管单引号更常用. 反斜杠工作单,双引号内的文字通常的 ...
随机推荐
- [译]Ocelot - Load Balancer
原文 可以对下游的服务进行负载均衡. 提供了下面几种负载均衡: LeastConnection - tracks which services are dealing with requests an ...
- css 常用的绝对定位元素水平垂直居中的方法
两种方法都能够实现: 1. div { height:80%; /*一定要设置高度*/ overflow:hidden;/*建议设置*/ margin: auto; position: absolut ...
- Nginx详解篇
Nginx主配置文件和参数: Nginx的默认站点目录是Nginx安装目录/application/nginx/下的html目录,如果要部署网站业务,只需要把开发号好的程序全部放置到/applicat ...
- luogu P5293 [HNOI2019]白兔之舞
传送门 关于这题答案,因为在所有行,往后跳到任意一行的\(w_{i,j}\)都是一样的,所以可以算出跳\(x\)步的答案然后乘上\(\binom{l}{x}\),也就是枚举跳到了哪些行 如果记跳x步的 ...
- Linux文件权限命令及配置
http://www.cnblogs.com/CgenJ/archive/2011/07/28/2119454.html
- 分布式系列六: WebService简介
WebSerice盛行的时代已经过去, 这里只是简单介绍下其基本概念, 并用JDK自带的API实现一个简单的服务. WebSerice的概念 WebService是一种跨平台和跨语言的远程调用(RPC ...
- PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
sort() 函数用于对数组单元从低到高进行排序. rsort() 函数用于对数组单元从高到低进行排序. asort() 函数用于对数组单元从低到高进行排序并保持索引关系. arsort() 函数用于 ...
- Beta冲刺(5/7)
目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:beta冲刺(5/7) 团队部分 后敬甲(组长) 过去两天完成了哪些任务 ppt制作中 数据集标注 接下来的计划 制作p ...
- 【原创】大数据基础之Drill(2)Drill1.14+Hive2.1.1运行
问题 Drill最新版本是1.14,从1.13开始Drill支持hive的版本升级到2.3.2,详见1.13的release notes The Hive client for Drill is up ...
- 【异常处理】Java异常如何做异常处理
类似SpringMVC项目的异常处理可以这样做: 整个项目创建全局的: 1.一个自定义异常如OneException和错误码,统一封装所有异常. 2.一个返回实体类ResponseEntity,包含返 ...