Python 编程操作连载之字符串、列表、字典和集合处理
字符串处理
字符串常用操作
Python 中的字符串可以使用单引号或双引号表示,拼接字符串使用加号操作符,例如:
str1 = 'hello'
str2 = "world"
str3 = str1 + ', ' + str2 + "!"
print(str3) # 输出:hello, world!
字符串常用的操作函数包括:
len(s)
:返回字符串s
的长度s.upper()
:将字符串中的所有字母都变为大写s.lower()
:将字符串中的所有字母都变为小写s.replace(old, new)
:用字符串new
替换字符串s
中的所有old
s.count(sub)
:计算字符串s
中子串sub
出现的次数s.find(sub)
:查找字符串s
中子串sub
第一次出现的位置,如果不存在则返回 -1
例如:
s = "hello, world!"
print(len(s)) # 输出:13
print(s.upper()) # 输出:HELLO, WORLD!
print(s.lower()) # 输出:hello, world!
print(s.replace(",", "")) # 输出:hello world!
print(s.count("l")) # 输出:3
print(s.find("l")) # 输出:2
字符串切片
Python 中使用下标来访问字符串中的字符,下标从 0 开始,例如:
s = 'hello, world!'
print(s[0]) # 输出:h
字符串切片操作可以获取字符串中的一个子字符串,语法格式为 s[start:end:step]
,其中 start
表示起始下标,end
表示结束下标,step
表示步长。例如:
s = 'hello, world!'
print(s[0:5]) # 输出:hello
print(s[7:]) # 输出:world!
print(s[::2]) # 输出:hlo ol!
列表处理
列表是 Python 中最常用的数据类型之一,可以存储多个值,使用中括号包围,多个值之间使用逗号隔开,例如:
numbers = [1, 2, 3, 4, 5]
print(numbers) # 输出:[1, 2, 3, 4, 5]
列表常用操作
列表常用的操作函数包括:
len(l)
:返回列表l
的长度l.append(item)
:向列表l
中添加元素item
l.extend(seq)
:将序列seq
中的元素添加到列表l
中l.insert(index, item)
:在列表l
的指定位置index
插入元素item
l.remove(item)
:从列表l
中移除元素item
l.pop(index)
:移除列表l
中指定位置index
的元素,并返回该元素
例如:
numbers = [1, 2, 3, 4, 5]
print(len(numbers)) # 输出:5
numbers.append(6)
print(numbers) # 输出:[1, 2, 3, 4, 5, 6]
numbers.extend([7, 8, 9])
print(numbers) # 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers.insert(0, 0)
print(numbers) # 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
numbers.remove(0)
print(numbers) # 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers.pop(0)) # 输出:1
print(numbers) # 输出:[2, 3, 4, 5, 6, 7, 8, 9]
列表切片操作
列表切片操作可以获取列表中的一个子列表,语法格式为 l[start:end:step]
,其中 start
表示起始下标,end
表示结束下标,step
表示步长。例如:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[1:5]) # 输出:[2, 3, 4, 5]
print(numbers[::2]) # 输出:[1, 3, 5, 7, 9]
字典处理
字典是 Python 中另一个重要的数据类型,可以存储键值对,使用花括号包围,键值对之间使用冒号隔开,多个键值对之间使用逗号隔开,例如:
person = {'name': 'Jack', 'age': 18, 'gender': 'male'}
print(person) # 输出:{'name': 'Jack', 'age': 18, 'gender': 'male'}
字典常用操作
字典常用的操作函数包括:
len(d)
:返回字典d
中键值对的数量d[key]
:获取字典d
中键为key
的值d[key] = value
:将键key
的值设置为value
d.get(key, default)
:获取字典d
中键为key
的值,如果不存在则返回default
d.keys()
:获取字典d
中所有的键d.values()
:获取字典d
中所有的值d.items()
:获取字典d
中所有的键值对
例如:
person = {'name': 'Jack', 'age': 18, 'gender': 'male'}
print(len(person)) # 输出:3
print(person['name']) # 输出:Jack
person['age'] = 20
print(person) # 输出:{'name': 'Jack', 'age': 20, 'gender': 'male'}
print(person.get('email', 'unknown')) # 输出:unknown
print(person.keys()) # 输出:dict_keys(['name', 'age', 'gender'])
print(person.values()) # 输出:dict_values(['Jack', 20, 'male'])
print(person.items()) # 输出:dict_items([('name', 'Jack'), ('age', 20), ('gender', 'male')])
集合处理
集合是 Python 中的一种无序不重复元素的数据类型,使用花括号包围,多个元素之间使用逗号隔开,例如:
numbers = {1, 2, 3, 4, 5}
print(numbers) # 输出:{1, 2, 3, 4, 5}
集合常用操作
集合常用的操作函数包括:
len(s)
:返回集合s
中元素的数量s.add(item)
:向集合s
中添加元素item
s.remove(item)
:从集合s
中移除元素item
s.pop()
:移除集合s
中的任意一个元素,并返回该元素s.union(other)
:返回集合s
和集合other
的并集s.intersection(other)
:返回集合s
和集合other
的交集s.difference(other)
:返回集合s
中有,而集合other
中没有的元素
例如:
numbers = {1, 2, 3, 4, 5}
print(len(numbers)) # 输出:5
numbers.add(6)
print(numbers) # 输出:{1, 2, 3, 4, 5, 6}
numbers.remove(6)
print(numbers) # 输出:{1, 2, 3, 4, 5}
print(numbers.pop()) # 输出:1
print(numbers) # 输出:{2, 3, 4, 5}
a = {1, 2, 3}
b = {3, 4, 5}
print(a.union(b)) # 输出:{1, 2, 3, 4, 5}
print(a.intersection(b)) # 输出:{3}
print(a.difference(b)) # 输出:{1, 2}
示例说明
示例 1
问题:如何统计一个字符串中每个字符出现的次数?
解答:可以使用字典来存储字符和出现次数的映射关系,遍历字符串中的每个字符,将其加入字典中并对应的计数器加一。
代码如下:
s = 'hello, world!'
counts = {}
for c in s:
if c in counts:
counts[c] += 1
else:
counts[c] = 1
print(counts)
输出:
{'h': 1, 'e': 1, 'l': 3, 'o': 2, ',': 1, ' ': 1, 'w': 1, 'r': 1, 'd': 1, '!': 1}
示例 2
问题:如何找到两个列表中的共同元素?
解答:可以将其中一个列表转换为集合,然后遍历另一个列表,判断每个元素是否在集合中。
代码如下:
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
set_a = set(a)
common = []
for x in b:
if x in set_a:
common.append(x)
print(common)
输出:
[3, 4, 5]
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 编程操作连载之字符串,列表,字典和集合处理 - Python技术站