字符串、列表、元组的异同

文章目录

  • 相同
    • 拼接
    • 重复
    • 索引、切片
    • 计数
    • 遍历
  • 不同
    • 字符串
    • 列表
    • 元组
  • 总结

相同

拼接

字符串、列表及元组均可通过“+”号进行拼接,但要求同种类型数据之间才能拼接

#字符串拼接
a = "Hello"
b = ",Python"
print(a + b)

#列表拼接
li1 = ["I"]
li2 = ["Love","Python"]
print(li1 + li2)

重复

字符串、列表及元组均可通过“*”号进行重复输出

#字符串重复
a = "City_college "
print(a * 3)

#列表重复
li2 = ["Love","Python"]
print(li2 * 3)

索引、切片

字符串、列表及元组均可通过“[:],[::]”进行部分输出

str = "Python"
print(str[2])

#遍历数组
for i in range(len(str)):
    print(str[i],end="")

for char in str:
    print(char,end = "")
    
#切片
str = "life is short,you need python."
print(len(str))
print(str[:4])

#翻转输出
str = "life is short, you need python."
print(len(str))
print(str[::-1])

#列表索引,切片
li = ['C','i','t','y',"city",'college','zhengjiang']
print(len(li))
print((li[0],li[-7]))
print(li[:5])

计数

字符串、列表及元组均可通过- count()函数对指定元素进行计数

#字符串计数
str = "LIFE is short, you NEED python."
print(str.count("o",9,17))	#指定范围内查找指定的参数

#列表计数
li = ['a','b','c','d','e','city','e']
print(li.count('e'))

遍历

字符串,列表及元组均可通过三种方式进行遍历

(1)元素遍历

li = ['a','b','c','d','e','city','e']
for char in li:
    print(char)

(2)索引遍历

li = ['a','b','c','d','e','city','e']
for i in range(len(li)):
    print(li[i])

(3)枚举遍历

- enumerate()	#对于一个可迭代的/可遍历的对象(如列表,字符串等),enumerate()将其组成一个索引序列,利用它我们可以获得索引和值

li = ['a','b','c','d','e','city','e']
for i in enumerate(li,2):
    print(i)

不同

字符串

(1)字符串创建:用引号(“ ”)来创建字符串

name = "hangzhou"
area = "gongshu"
history = "2000"
person = """苏轼,许仙,白素贞"""
captical_of = '''吴越,南宋'''

sent = "i'm lilei"
sent2 = '"He is my brother",he said'
sent3 = '''轻轻地我走了,
正如我轻轻地来。'''

(2)大小写转换:

str = "LIFE is short, you NEED python."
print(str.lower())	#转小写
print(str.upper())	#转大写
print(str.swapcase())	#大小写互换
print(str.title())	#转为标题形式
print(str.capitalize())	#首字母大写

(3)删除指定字符:

str.strip()		#删除两边指定字符
str.lstrip()	#删除左边指定字符
str.rstrip()	#删除右边指定字符

(4)字符串搜索定位和替换

str.find()	#查找元素并返回第一次出现时的索引值,查找不到返回-1
str.rindex()	#从右往左查找
str.replace([现有字符][替换字符])

(5)字符串条件判断

str.isalnum()	#判断字符串有字母或者数字组成
str.isalpha()	#判断仅有字母组成
str.isdigit()	#判断仅有数字组成

(6)字符串的分割变换

"字符".join(str)	#将指定字符插入到元素之间
str.split("字符")	#以指定字符分割并去除该字符
str.partition("字符")	#以指定字符分割字符串并保留字符

(7)ASCII值和字符的转化

chr()	#digit--->alpha
ord()	#alpha--->digit

列表

(1)列表创建:用方括号括起来的[],每个元素以逗号分隔

#创建空列表
li = []
print(type(li))

#创建多元素列表
li = [1,2,3,"abcd","City","College",["I","Love","Python"]]

(2)增删改查

# 1.增
- append()
- extend()	#取出元素再添加
- insert()	#按照索引添加

li = ["City","College"]
print((id(li)))
li1 = ["a","b","c"]
li.append(li1)
print(li)
print(id(li))

li = ["City","College"]
li1 = ["a","b","c"]
li.extend(li1)
print(li)

li = ["City","College"]
li1 = ["a","b","c"]
li.insert(1,li1)
print(li)

# 2.改
li = ["City","College","a","b","c"]
li1 = ["a","b","c"]
li[4] = "6666"
li[2:4] = ["x","y","z"]
print(li)

#3.删除
- pop()	#如果不指定索引,默认删除最后一个元素

li = ['a','b','c','d','e']
print(li.pop(2))
print(li)

- remove() #移除第一次遇到的指定元素

li = ['a','b','c','d','e','city','e']
print(li.remove("e"))
print(li)

- del()

li = ['a','b','c','d','e','city','e']
del li[5]
print(li)

- clear() #清空列表

li = ['a','b','c','d','e','city','e']
li.clear()
print(li)

# 4.查 --->索引,切片

元组

(1)元组创建:用括号括起来的(),每个元素以逗号分隔,单个元素的元组需在单元素后添加逗号

tp = ("abc",)
tp = tuple()
tp = ("abc")	#此时tp为字符串

(2)删除

元组不可改变,只能通过del进行全部删除,不能删除指定元素

总结

操作 字符串 列表 元组
可变 NO YES NO
拼接 str1+str2 list1+list2 tuple1+tuple2
重复 str*n(n为整数) list*n(n为整数) tuple*n(n为整数)
索引 str[index] list[index] tuple[index]
切片 str[index1:index2] list[index1:index2] tulpe[index1:index2]
-append(),- extend(),- insert() 元组不可改变,无法增加
str.strip(),str.lstrip(),str.rstrip(),del() - pop(),- remove(),- del(),- clear() 只能用- del()全部删除,不能删除某个元素
replace list[index]=value,list[index1:index2]=value 元组不可更改
find()、index()、rindex()、索引 index()、索引 index()、索引
遍历 元素、索引、枚举 元素、索引、枚举 元素、索引、枚举

你可能感兴趣的:(字符串、列表、元组的异同)