python中遍历列表字符串_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]

特点:有序,下标访问,存储任何的数据类型

增加

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值