003-小白学python-for循环/字符串/列表

目录

for循环/字符串/列表

1for定义

for item in iteration:
    pass
s = 'hello world'
for i in s:
    print(i)

意义

item 是一个临时变量,每遍历一个成员就会被重新赋值
对对象的每一个成员,一个一个取出来,进行操作,而且自动捕获stop

for与break

s = 'hello world'
for i in s:
    if i == 'o':
        break
    print(i)

for-else悬挂 break

for正常执行完成,就会执行else,被braek打断就不会执行else
else不属于循环当中,所以不能使用break continue

name = 'monday'
for i in name:
    if i == 'd':
        print('出现d')
        break
else:
    print('没有出现d')

字符串

创建字符串,空格也算是一个字符

'' "" 三引号

下标访问字符串字符

正向从0开始,到len -1
反向从-1开始,到-len

s3 = 'sadasfafadf'
print(s3[10])
print(s3[-1])
print(s3[-4])
下标不能超过字符串的长度减1 len() - 1,超过就会引发indexError
反向不能小于-len
print(s3[20])

切片,

步长(表示方向与取值长度)正向切片 0开始,到len-1,反向 -1 开始,到 -len
技巧:
先看步长,是正,从左到右,是负数,从右到左
start --> end 的方向一定要和step的方向一致
特殊切片:
不写开头表示从0开始,不写结束表示到最后

s3 = 'sadasfafadf'
print(s3[10])
# print(s3[20]) #  超出报错
print(s3[-1])    # 最后一个
print(s3[-4])
print(s3[0:3])
print(s3[1:3])
print(s3[1:8:2])
print(s3[0:])
print(s3[2:])
print(s3[:])
print(s3[-3:-7:-1])
# print(s3[-3:-7])
print(s3[-7:-3:2]) # 一般不这样写(步长为正,start end直接)
print(s3[-1:-7:-2])
print(s3[::-1])
print(s3[0:-1])

字符串操作

查找

.find()
.rfind()
.index()
.rindex()

s = 'hello world'
print(s.find('o'))  # 4
print(s.rfind('o'))  # 从右找,但是序号从左计数
print(s.index('l'))  # 2
print(s.rindex('l'))  # 9

计数

.count()

print(s.count('o')) 

开头结尾

.startswith()
.endswith()

print(s.startswith('hello'))  # True
print(s.endswith('ld'))  # True

长度
len()

print(len(s))  # 11

列表

定义

lst = []
lst = list()
lst = [1, 2, 3]
特点:有序,下标访问,存储任何的数据类型

扫描二维码关注公众号,回复: 4440195 查看本文章

增加

.append() 只能是一个参数
.insert(index, value) 指定index位置index插入
.extend(iter) 传入一个可迭代对象

# lst1 = [1, 2, 3, 4, 5]
lst1 = [i for i in range(1, 6)]  # 一般列表创建可以使用
lst1.append(6)
lst1.insert(2, 10)
lst1.extend([9, 9, 9])
print(lst1)

删除

.pop()
.pop(index) # 涉及到index与value都要考虑是否超出与没有该值的情况
.remove(value)

# del删除
lst2 = ['name', 'age', 'length', 'good', 'boy', 'love']
del lst2[0]
print(lst2)
# pop()  有返回值
remove_value = lst2.pop()
print(remove_value, lst2, '******')
# pop(index)
remove_value1 = lst2.pop(1)
print(remove_value1, lst2, '++++++')
# remove()
print(lst2.remove('boy'))  # 不能删除没有的值,而且没有返回值

主要是通过索引来改
lst[index] = newValue

lst[index],for 循环

嵌套列表

多维列表(一般二维三维)
lst = [[], [], [], []]
增删改查:原则
1。找到对象
2。利用下标
有10个球分别3红、3蓝、4白,现需要将这10个球随机放入这3个盒子,要求每个盒子至少有一个白球,请用程序实现

import random
lst = [[], [], []]
s = ['r', 'r', 'r', 'b', 'b', 'b', 'w']
# 初始化,保证每个里面有一个w
for i in lst:
    i.append('w')
print(lst)
# 然后就是随便添加进去
for item in s:
    index = random.randint(0, 2)
    lst[index].append(item)
print(lst)

猜你喜欢

转载自www.cnblogs.com/py-coder/p/10094034.html