python——字符串+元组+列表

在这里插入图片描述
一:字符串

str="123456789"
print(str)
print(str[0])
print("-----------------------")
print(str[2:5])#包含第三个字符但是不包含第六个
print(str[0:-1]) #输出第一个到倒数第二个的所有字符

print(str[2:])#有无空格
print(str[2:]+"无空格")#书上无空格
print(str[2: ]+"有空格")
print("-----------------------")
print(str[1:5:2])# 输出从第二个开始到第五个且每隔一个的字符(步长为2print(str[::3])
print(str[0:-1:2])
print("-----------------------")
print(str*2)
print(str+"您好")

print("-----------------------")

print("hello\nrunoob")
print(r"hello\nrunoob")
print("-----------------------")

print(str[-1])
print(str[-9])

运行结果

123456789
1
-----------------------
345
12345678
3456789
3456789无空格
3456789有空格
-----------------------
24
147
1357
-----------------------
123456789123456789
123456789您好
-----------------------
hello
runoob
hello\nrunoob
-----------------------
9
1

二:元组

  1. 元组写在小括号 () 里,元素之间用逗号隔开。
  2. 元组的元素不能修改。
  3. 元组中的元素类型也可以不相同。
tuple=("abcd",786,2.23,"runoob",70.2)
tinytuple=(123,"runoob")

print(tuple)
print(tuple[0])
print("------------------------")
print(tuple[1:3])
print(tuple[2:])
print(tuple[1:-1])
print(tuple[0:4:2])
print("------------------------")
print(tinytuple*2)
print(tuple+tinytuple)

运行结果:

('abcd', 786, 2.23, 'runoob', 70.2)//这里字符串是单引号,代码原文写的是双引号(书上为单,自己习惯为双)
abcd
------------------------
(786, 2.23)
(2.23, 'runoob', 70.2)
(786, 2.23, 'runoob')
('abcd', 2.23)
------------------------
(123, 'runoob', 123, 'runoob')
('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')

另需注意若在原文中修改tuple[0]=1,将出现下列错误(故元组不可以修改元素)

在这里插入图片描述

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

tuple1=()# 空元组
print(tuple1)
tuple2=(2,)# 一个元素,需要在元素后添加逗号
print(tuple2)
tuple3=(2)#测试不加逗号,输出什么
print(tuple3)

运行结果:

()
(2,)
2

三:列表

  1. 列表写在小括号 []里,元素之间用逗号隔开。
  2. 列表的元素可以修改。
  3. 列表中的元素类型也可以不相同。
list = ["abcd",786,2.23,"runoob",70.2]
tinylist = [123,"runoob"]

print(list)
print(list[0])
print("----------------------------")
print(list[1:3])
print(list[2:])
print(list[0:-1])
print(list[0:4:2])
print("----------------------------")
print(tinylist*2)
print(list+tinylist)

运行结果:

['abcd', 786, 2.23, 'runoob', 70.2]
abcd
----------------------------
[786, 2.23]
[2.23, 'runoob', 70.2]
['abcd', 786, 2.23, 'runoob']
['abcd', 2.23]
----------------------------
[123, 'runoob', 123, 'runoob']
['abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob']

修改元素

a=[1,2,3,4,5,6]#list可换成a,不要换个称呼就不知道是列表了
a[0]=9
a[2:5]=[13,14,15]
print(a)
print("----------------------------")
a[2:5]=[]#中间没空格
print(a)
print("----------------------------")
a[1:2]=[ ]#中间有空格 上面结果是9,2,6,将第二个元素改为无了,可见有没有空格效果一样
print(a)

运行结果:

[9, 2, 13, 14, 15, 6]
----------------------------
[9, 2, 6]
----------------------------
[9, 6]

(1)如果第三个参数为负数表示逆向读取,举例列表:

list = [1,2,3,4] 
print(list[-1::-1])
# 第一个参数 -1 表示最后一个元素
# 第二个参数为空,表示移动到列表末尾
# 第三个参数为步长,-1 表示逆向

运行结果:

[4, 3, 2, 1]

(2)同样我们尝试元组是否可以逆读

tuple = (1,2,3,4)
print(tuple[-1::-1])

运行结果(证明元组也可以实现逆转):

(4, 3, 2, 1)

(3)那字符串如何实现逆转呢

(i)字符串里都是数字

str="1234"
print(str[-1::-1])

运行结果:

4321

(ii)如果字符串有空格会是什么样

str1="1 2 3 4"
print(str1[-1::-1])

运行结果:

4 3 2 1  

(iii)这个时候我们并没有感觉不对劲,但是如果字符串里都是英文单词呢

str2="I love you"
print(str2[-1::-1])

运行结果:

uoy evol I

(iv)这里更能直观的看出是一个一个元素实现逆转,那怎么实现一个一个单词为单位逆转呢

str2="I love you" 
inputwords = str2.split(" ")# 通过空格将字符串分隔符,把各个单词分隔为列表
inputwords=inputwords[-1::-1]
output=' '.join(inputwords)# 重新组合字符串
print(output)

运行结果:

you love I

调用函数型实现逆转:

def reverseWords(input):
    inputWords = input.split(" ")
    inputWords = inputWords[-1::-1]
    output = ' '.join(inputWords)
    return output


if __name__ == "__main__":
    str2 = "I love you"
    rw = reverseWords(str2)
    print(rw)

运行结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值