继续学习中,

补充一些str 的索引、切片、长度、循环输出等。

#!/usr/bin/env python
# coding:utf-8 # 通过下标索引获取字符串中的某个字符 # 1. 索引
test = "alexerdor"
a = test[0]
print(a) # 2. 切片
b = test[0:2] # 小于2, 不包括2
print(b)
c = test[0:-1] # 负1的意思是到最后减1
print(c) # 3. 长度
test2 = "中国人"
d = len(test2) # python3中返回3, 2.7中则返回9 (因为utf8的字节长度是3 )
print(d) # 4. 循环输出
txt = "大数据分析挖掘与开发技术"
#
# n = 0
# while n < len(txt):
# v = txt[n]
# print(v)
# n += 1 # For循环 for t in txt: # 简单的方法,轻松地得到和上面循环输出方法一样的结果。
print(t) ######################## 记住以上4 种,以及前面必须的 6 种普通方法。 # for dict bdict = {}
bdict['aaa'] = 1
bdict['bbb'] = 2
bdict['ccc'] = 3
bdict['ddd'] = 4
bdict['eee'] = 5 # 字典只能输出下标, 并且不是按顺序输出: 针对key的hash取模
for v in bdict:
print (v) # 改动后
for k, v in bdict.items():
# print(k + " ===> " + str(v))
print("{}===>{}".format(k,v)) #使用format方法输出。

以及str 的range / replace

#!/usr/bin/env python
# coding:utf-8 # 1. replace
name ="tom & jerry jessies"
s = name.replace("j","T",1) # 第3个参数是指定替换几个。不指定则全部替换
print(s) # 2. range 帮助创建连续数字,通过步长来指定不连续
test = range(0,100,9) # 第3个参数是步长
for e in test:
print(e) ## 练习: 将文本对应的索引打印出来。
str_name = "分布式文件系统HDFS"
le = len(str_name)
rg = range(0,le)
for a in rg:
print(a, str_name[a]) # 老师的讲解 简写
txt = input(">>>")
for item in range(0,len(txt)):
print(item, txt[item])

原生字符串 ,即在引号前面加 r 以及数字的e记法。

#!/usr/bin/env python
# coding:utf-8 # strings = 'C:\radio\fm'
# print(strings) # row string 字符串前面加了r 后,结尾不能有反斜杠\
strings_r = r'C:\radio\fm'
print(strings_r) str2 = r'''C:\windows\nimda'''
print(str2) # 数字的 e 记法
a = 15e3
print(type(a),a) b = 5.99
b2 = int(b)
print(b2) # 判断数据类型是否正确.前提是你知道类型的情况下使用,如果不知道类型的现个变量的判断,则使用type(a) == type(b)
print(isinstance(b, float))

下面是完成老师布置的作业, 老师还未讲解。

#!/usr/bin/env python
# coding:utf-8 # 1. 执行python脚本的2种方式。 # 2. 简述位、字节的关系。 # 3. 简述ascii unicode utf-8 gbk的关系 # 4. 请写出“李白”分别用utf-8和gbk编码所占的位数。 # 5. python的单行注释和多行注释分别用什么。 # 6. 声明变量注意事项有哪些? # 7. 如有以下变量 n = 5 ,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示? n = 5
i = n.bit_length()
print("最少{}位".format(i)) # 8. 布尔值分别有什么? # 9. 阅读代码,写出执行结果
a = "alex"
b =a.capitalize()
print(a)
print(b)
# 请出执行结果: alex Alex # 10. 写代码,有如下变量,按照要求实现每个功能
name = " aleX"
## a. 移除name变量两边的空格,并输出
print(name.strip()) ## b. 判断name变量对应的值是否以"al"开头,并输出结果
print(name.startswith("al")) ## c. 判断是否以"X"结尾并输出
print(name.endswith("X")) ## d. 将变量中"l"替换成"p"
print(name.replace("l","p")) ## e. 将变量以"l"分割并输出
print(name.split("l")) ## f. 请问上一题 e 分割之后得到值是什么类型?
## 应该是 list 类型 ## g. 将变量的值变大写, 变小写
print(name.upper())
print(name.lower()) ## i. 输出变量值的第2个字符
print(name[1]) ## j. 输出变量值的前3个字符
print(name[0:3]) ## k. 输出变量值的后2个字符
print(name[len(name)-2:len(name)]) ## l. 输出变量值 e 所在位置
print(name.find("e")) ## m. 获取子序列,不包含最后一个字符
print(name[0:-1]) # 21. 字符串是否可以迭代对象,如可以请使用 for 循环每一个元素
test = "大数据分析主要的工具都是Apache公司开发的"
tmp = str.maketrans("的","d") #参数的长度应该相等
test2 = test.translate(tmp)
for f in test2:
print(f)
# 22. 用代码将下面2个变量的元素拼接成字符串
abc = "alexericrain"
lis = ['alex','eric','rain'] # print(abc+lis[0]+lis[1]+lis[2])
for a in lis:
abc += a
print(abc) # s1 = "_".join(abc)
# print(s1)
# print("_".join(lis))
# 23. python2中和python3中的range的区别 
# 24. 实现一个整数加法计算器,如: 5+9 或 5+ 9 或 5 + 9
num = input("请输入加法表达式:")
s2 = num.split("+")
res = 0 for i in s2:
  if i.strip().isdigit():
    res += int(i)
  else:
    print("请输入正确的数字")
    break print("您的和是:",res) # 25. 用户输入的内容中有几个数字几个字母?
cont = input("请输入内容:")
n1 = 0
n2 = 0 for t in cont:
  if t.isalpha():
    n1 += 1
  if t.isdigit():
    n2 += 1 print("字母{}个,数字{}个".format(n1,n2)) # 26. 简述int 和 9 等数字 以及 str 和 "xxoo"等字符串的关系? # 27. 制作趣味组合,等待用户输入名字、地点、爱好, 根据这些任意实现 # 28. 制作随机验证码,不区分大小写. # 流程:用户执行程序 >> 给用户显示需要输入验证码 >> 用户输入的值 相同时显示正确,否则继续生成随机验证码等待输入。
def check_code():
  import random
  checkcode = ''
  for i in range(4):
    current = random.randrange(0,4)
    if current != i:
      temp = chr(random.randint(65,90))
    else:
      temp = random.randint(0,9)
    checkcode += str(temp)
  return checkcode while True:
  code = check_code()
  print(code)
  tmp = input("请输入验证码:")
  if tmp.lower() == code.lower():
    print("right.") break

切片的一些补充:

a = 'abcdjklmn'
print(a[:4]) # 前4个
print(a[-2]) # 倒数第2个
print(a[-2:]) # 取最后2个 print(a[4:]) # 下标4到最后
print(a[:]) # 全部
print(a[:5:2]) # 从头到5,步长2 print(a[4:0:-1]) # 反向取,从下标4到0
print(a[4::-1]) # 反向取,从下标4到开头
print(a[-1::-1]) # 反转
print(a[::-1]) # 反转
#2、写函数,检查获取传入列表或元组对象的所有奇数位索引对应的元素,并将其作为新列表返回给调用者。
def chk(a):
return a[1::2] print(chk((22,33,11,55,44,66,)))

Python基础05_str_补充的更多相关文章

  1. 十一. Python基础(11)—补充: 作用域 & 装饰器

    十一. Python基础(11)-补充: 作用域 & 装饰器 1 ● Python的作用域补遗 在C/C++等语言中, if语句等控制结构(control structure)会产生新的作用域 ...

  2. python基础数据类型补充

    python_day_7 一. 今日主要内容: 1. 补充基础数据类型的相关知识点 str. join() 把列表变成字符串 列表不能再循环的时候删除. 因为索引会跟着改变 字典也不能直接循环删除.把 ...

  3. Python基础数据类型补充及深浅拷贝

    本节主要内容:1. 基础数据类型补充2. set集合3. 深浅拷贝主要内容:一. 基础数据类型补充首先关于int和str在之前的学习中已经讲了80%以上了. 所以剩下的自己看一看就可以了.我们补充给一 ...

  4. 万恶之源 - Python基础知识补充

    编码转换 编码回顾: 1. ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符. 没有中⽂, 8个01代码, 8个bit, 1个byte 2. GBK: 中⽂国标码, ...

  5. Python——基础数据类型(补充)

    1.基础数据类型汇总补充 (1)小数据池:   为了节省空间,数字和字符串有,其他的没有[了解]   数字:-5---256之间的数字共用一个内存地址 #(1)i1 = i2 id(i1) == id ...

  6. Python基础知识补充(重要)-作用域、特殊语法

    Python作用域 python代码内部块如if语句内声明变量,在if代码段后在调用此变量并未报如“undefinded name"此类错误,例子如下: if 1 == 1: name = ...

  7. python基础知识补充

    set 集合 {} 无序 集合天然去重 增 : s.add s.update 迭代添加 删 : s.pop( ) 随机删除 返回删除值 s.clear( ) 清空 获取到的是 set( ) del s ...

  8. python基础数据类型补充以及编码的进阶

    一.基本数据类型的补充循环列表改变列表大小的问题#请把列表中索引为基数的元素写出l1=[1,2,3,4,5,6]for i in l1: if i%2!=0: print(i)结果:135二:基本数据 ...

  9. python基础(补充):递归函数

    在讲解递归函数之前我们先了解一下栈堆 单独讲栈堆是数据结构 栈:后进先出的一种数据结构 堆:排序后的一种树状数据结构 栈区堆区是内存空间 栈区:按照后进先出的数据结构(栈),无论创建或销毁都是自动为数 ...

随机推荐

  1. 【Spark-core学习之六】 Spark资源调度和任务调度

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...

  2. re正则匹配

    import re #'(?P<name>...)' 分组匹配print(re.search("(?P<id>[0-9]+)","abc12345 ...

  3. Python自然语言处理笔记【一】文本分类之监督式分类

    一.分类问题 分类是为了给那些已经给定的输入选择正确的标签. 在基本的分类任务中,每个输入都被认为与其他的输入是隔离的.每个类别的标签集是预先定义好的(只有把类别划分好了,才能给输入划分类别). 分类 ...

  4. 第九节 JS运动应用

    多物体运动框架 多个物体同时运动 例子:多个Div,鼠标移入变宽 单定时器,存在问题 每个Div一个定时器 <!DOCTYPE html> <html lang="en&q ...

  5. 2018-2019-2 20189206 Python3学习

    python3简明教程学习 基本概念 脚本文件: 脚本文件英文为Script.实际上脚本就是程序,一般都是由应用程序提供的编程语言.应用程序包括浏览器(javaScript.VBScript).多媒体 ...

  6. vscode设置代码块

    需要注意一点是,内容主体里面带有缩进的地方不能用 Tab,只能用空格

  7. build tool 的简单认知

    Build Tool 什么是Build Tool(构建工具)? 构建工具是从源代码自动创建可执行应用程序的程序(例如.apk for android app).构建包括将代码编译,链接和打包成可用或可 ...

  8. Python3 tkinter基础 Menu add_cascade 多级菜单 add_separator 分割线

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  9. 622 CircularQueue C#

    public class MyCircularQueue { int[] Queue=null; int _Front = 0; int _Rear = 0; int Length = 0; int ...

  10. ORM查询条件

    模板: from django.db import models class Article(models.Model): title = models.CharField(max_length=20 ...