字符串操作
列表操作
元组操作
字典操作
字符串是编程中非常常用的数据类型,用于存储文本信息。以下是一些常见的字符串操作:
my_string = 'Hello, World!'
my_string = "Hello, World!"
my_string = """
This is a
multi-line string.
"""
my_string = "Hello, World!"
print(my_string[0]) # 输出:H
print(my_string[-1]) # 输出:!
print(my_string[7:12]) # 输出:World
print(my_string[:5]) # 输出:Hello
print(my_string[7:]) # 输出:World!
print(my_string[::2]) # 输出:Hlo ol!
字符串是《不可变类型》,不能直接修改某个字符。如果需要修改,可以创建一个新的字符串:
my_string = "Hello, World!"
new_string = my_string[:7] + "Python"
print(new_string) # 输出:Hello, Python
str1 = "Hello"
str2 = "World"
result = str1 + " " + str2
print(result) # 输出:Hello World
words = ["Hello", "World", "Python"]
result = " ".join(words)
print(result) # 输出:Hello World Python
name = "Alice"
age = 25
print("My name is %s and I am %d years old." % (name, age))
print("My name is {} and I am {} years old.".format(name, age))
print(f"My name is {name} and I am {age} years old.")
my_string = "Hello, World!"
print(len(my_string)) # 输出:13
将字符串中的所有字符转换为大写。
print(my_string.upper()) # 输出:HELLO, WORLD!
将字符串中的所有字符转换为小写。
print(my_string.lower()) # 输出:hello, world!
将字符串的第一个字符转换为大写,其余字符转换为小写。
print(my_string.capitalize()) # 输出:Hello, world!
将字符串中每个单词的首字母转换为大写。
print(my_string.title()) # 输出:Hello, World!
返回子字符串首次出现的索引,如果未找到返回 -1 。
print(my_string.find("World")) # 输出:7
print(my_string.find("Python")) # 输出:-1
返回子字符串首次出现的索引,如果未找到会抛出 ValueError 。
print(my_string.index("World")) # 输出:7
# print(my_string.index("Python")) # 抛出 ValueError
返回子字符串在字符串中出现的次数。
print(my_string.count("o")) # 输出:2
将字符串中的 old 替换为 new 。
my_string = "Hello, World!"
new_string = my_string.replace("World", "Python")
print(new_string) # 输出:Hello, Python!
将字符串按照指定分隔符分割成列表,默认分隔符为空白字符(空格、换行 `\n`、制表符 `\t` 等)。
my_string = "Hello, World! Welcome to Python."
words = my_string.split()
print(words) # 输出:['Hello,', 'World!', 'Welcome', 'to', 'Python.']
words = my_string.split(",")
print(words) # 输出:['Hello', ' World! Welcome to Python.']
去除字符串首尾的空白字符。
my_string = " Hello, World! "
print(my_string.strip()) # 输出:Hello, World!
去除字符串开头的空白字符。
print(my_string.lstrip()) # 输出:Hello, World!
去除字符串末尾的空白字符。
print(my_string.rstrip()) # 输出: Hello, World!
检查字符串是否只包含数字。
print("12345".isdigit()) # 输出:True
print("123abc".isdigit()) # 输出:False
检查字符串是否只包含字母。
print("abcde".isalpha()) # 输出:True
print("abc123".isalpha()) # 输出:False
检查字符串是否只包含字母和数字。
print("abc123".isalnum()) # 输出:True
print("abc!123".isalnum()) # 输出:False
检查字符串是否只包含空白字符。
print(" ".isspace()) # 输出:True
print("abc".isspace()) # 输出:False
检查字符串是否以指定的前缀开头。
print(my_string.startswith("Hello")) # 输出:True
print(my_string.startswith("World")) # 输出:False
检查字符串是否以指定的后缀结尾。
print(my_string.endswith("World!")) # 输出:True
print(my_string.endswith("Python")) # 输出:False
将字符串编码为字节对象。
my_string = "你好,世界!"
encoded_string = my_string.encode("utf-8")
print(encoded_string) # 输出:b'\xe4\xbd\xa0\xe5\xa5\xbd\xef\xbc\x8c\xe4\xb8\x96\xe7\x95\x8c\xef\xbc\x81'
将字节对象解码为字符串。
decoded_string = encoded_string.decode("utf-8")
print(decoded_string) # 输出:你好,世界!
字符串是不可变类型,因此所有字符串操作都会返回一个新的字符串,而不是修改原字符串。掌握这些常用操作可以帮助你高效地处理字符串数据。
列表(List)是一种非常常用的数据结构,用于存储有序的元素集合。以下是一些常见的列表操作,以 Python 为例进行详细说明:
my_list = []
my_list = [1, 2, 3, 4, 5]
my_list = ["apple", "banana", "cherry"]
my_list = [1, 2, 3, 4, 5]
print(my_list[0]) # 输出:1
print(my_list[-1]) # 输出:5(负索引从列表末尾开始计数)
print(my_list[1:3]) # 输出:[2, 3](从索引1到索引3,不包括索引3)
print(my_list[:3]) # 输出:[1, 2, 3](从开头到索引3,不包括索引3)
print(my_list[3:]) # 输出:[4, 5](从索引3到末尾)
print(my_list[::2]) # 输出:[1, 3, 5](每隔一个元素取一个)
my_list[0] = 10
print(my_list) # 输出:[10, 2, 3, 4, 5]
my_list[1:3] = [20, 30]
print(my_list) # 输出:[10, 20, 30, 4, 5]
在列表末尾添加一个元素。
my_list.append(6)
print(my_list) # 输出:[10, 20, 30, 4, 5, 6]
将另一个列表的所有元素添加到当前列表末尾。
my_list.extend([7, 8])
print(my_list) # 输出:[10, 20, 30, 4, 5, 6, 7, 8]
在指定位置插入一个元素。
my_list.insert(2, "new")
print(my_list) # 输出:[10, 20, 'new', 30, 4, 5, 6, 7, 8]
删除第一个匹配的值。如果值不存在,会抛出 `ValueError`。
my_list.remove("new")
print(my_list) # 输出:[10, 20, 30, 4, 5, 6, 7, 8]
删除并返回指定索引位置的元素。如果不指定索引,默认删除并返回最后一个元素。
removed_element = my_list.pop(2)
print(removed_element) # 输出:30
print(my_list) # 输出:[10, 20, 4, 5, 6, 7, 8]
删除指定索引位置的元素或整个列表。
del my_list[1]
print(my_list) # 输出:[10, 4, 5, 6, 7, 8]
del my_list # 删除整个列表
清空列表中的所有元素。
my_list = [10, 20, 30]
my_list.clear()
print(my_list) # 输出:[]
squares = [x * x for x in range(1, 6)]
print(squares) # 输出:[1, 4, 9, 16, 25]
my_list = [1, 2, 3]
new_list = my_list.copy()
print(new_list) # 输出:[1, 2, 3]
new_list = my_list[:]
print(new_list) # 输出:[1, 2, 3]
对列表进行原地排序(会修改原列表)。
my_list = [3, 1, 4, 1, 5, 9]
my_list.sort()
print(my_list) # 输出:[1, 1, 3, 4, 5, 9]
返回排序后的列表副本,不修改原列表。
my_list = [3, 1, 4, 1, 5, 9]
sorted_list = sorted(my_list)
print(sorted_list) # 输出:[1, 1, 3, 4, 5, 9]
print(my_list) # 输出:[3, 1, 4, 1, 5, 9]
对列表进行原地反转(会修改原列表)。
my_list = [1, 2, 3, 4, 5]
my_list.reverse()
print(my_list) # 输出:[5, 4, 3, 2, 1]
reversed_list = my_list[::-1]
print(reversed_list) # 输出:[5, 4, 3, 2, 1]
返回列表的长度。
print(len(my_list)) # 输出:5
返回指定值在列表中出现的次数。
print(my_list.count(1)) # 输出:2
- 使用 `in` 和 `not in` 操作符检查元素是否存在:
print(1 in my_list) # 输出:True
print(6 not in my_list) # 输出:True
返回指定值在列表中首次出现的索引。如果值不存在,会抛出 `ValueError`。
print(my_list.index(3)) # 输出:2
list1 = [1, 2, 3]
list2 = [4, 5, 6]
combined_list = list1 + list2
print(combined_list) # 输出:[1, 2, 3, 4, 5, 6]
repeated_list = [1, 2, 3] * 3
print(repeated_list) # 输出:[1, 2, 3, 1, 2, 3, 1, 2, 3]
这些是列表的常用操作,涵盖了创建、访问、修改、排序、统计、查找等常见需求。掌握这些操作可以帮助你高效地使用列表来处理数据。
元组(Tuple)是一种不可变的数据结构,用于存储有序的元素集合。与列表不同,元组一旦创建,其内容不能被修改。以下是一些常见的元组操作,以 Python 为例进行详细说明:
my_tuple = ()
single_element_tuple = (42,)
my_tuple = (1, 2, 3, 4, 5)
my_tuple = "apple", "banana", "cherry" # 也可以省略括号
my_tuple = (1, 2, 3, 4, 5)
print(my_tuple[0]) # 输出:1
print(my_tuple[-1]) # 输出:5
print(my_tuple[1:3]) # 输出:(2, 3)
print(my_tuple[:3]) # 输出:(1, 2, 3)
print(my_tuple[3:]) # 输出:(4, 5)
print(my_tuple[::2]) # 输出:(1, 3, 5)
- **不可变性**:元组是不可变的,不能直接修改元组中的元素。如果需要修改,可以通过创建一个新的元组来实现。
my_tuple = (1, 2, 3)
new_tuple = my_tuple[:2] + (4,) # 创建一个新的元组
print(new_tuple) # 输出:(1, 2, 4)
my_tuple = (1, 2, 3, 4, 5)
print(len(my_tuple)) # 输出:5
print(3 in my_tuple) # 输出:True
print(6 not in my_tuple) # 输出:True
返回指定值首次出现的索引。如果值不存在,会抛出 `ValueError`。
print(my_tuple.index(3)) # 输出:2
# print(my_tuple.index(6)) # 抛出 ValueError
返回指定值在元组中出现的次数。
my_tuple = (1, 2, 2, 3, 4, 2)
print(my_tuple.count(2)) # 输出:3
- 将元组中的值解包到多个变量中:
my_tuple = ("Alice", 25, "New York")
name, age, city = my_tuple
print(name) # 输出:Alice
print(age) # 输出:25
print(city) # 输出:New York
- 元组可以使用比较运算符(`==`, `!=`, `<`, `>`, `<=`, `>=`)进行比较。比较时从左到右逐个比较元素。
tuple1 = (1, 2, 3)
tuple2 = (1, 2, 4)
print(tuple1 < tuple2) # 输出:True
print(tuple1 == tuple2) # 输出:False
tuple1 = (1, 2, 3)
tuple2 = (4, 5, 6)
combined_tuple = tuple1 + tuple2
print(combined_tuple) # 输出:(1, 2, 3, 4, 5, 6)
repeated_tuple = (1, 2, 3) * 3
print(repeated_tuple) # 输出:(1, 2, 3, 1, 2, 3, 1, 2, 3)
- 使用内置函数 `max()` 和 `min()`:
my_tuple = (1, 2, 3, 4, 5)
print(max(my_tuple)) # 输出:5
print(min(my_tuple)) # 输出:1
- 使用 `list()` 函数将元组转换为列表:
my_tuple = (1, 2, 3)
my_list = list(my_tuple)
print(my_list) # 输出:[1, 2, 3]
- 使用 `str()` 函数将元组转换为字符串:
my_tuple = (1, 2, 3)
my_string = str(my_tuple)
print(my_string) # 输出:'(1, 2, 3)'
元组的主要特点是**不可变性**,这使得元组在某些场景下(如用作字典的键、存储不可变数据等)非常有用。掌握这些常用操作可以帮助你高效地使用元组来处理数据。
字典是 Python 中非常灵活且强大的数据结构,用于存储键值对(key-value pairs)。以下是一些常见的字典操作,帮助你更好地理解和使用字典。
my_dict = {}
my_dict = {"name": "Alice", "age": 25, "city": "New York"}
my_dict = dict(name="Alice", age=25, city="New York")
keys = ["name", "age", "city"]
my_dict = dict.fromkeys(keys, "Unknown")
print(my_dict) # 输出:{'name': 'Unknown', 'age': 'Unknown', 'city': 'Unknown'}
print(my_dict["name"]) # 输出:Alice
print(my_dict.get("name")) # 输出:Alice
print(my_dict.get("gender", "Unknown")) # 如果键不存在,返回默认值 "Unknown"
my_dict["gender"] = "Female"
print(my_dict) # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York', 'gender': 'Female'}
my_dict["age"] = 26
print(my_dict) # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York', 'gender': 'Female'}
del my_dict["city"]
print(my_dict) # 输出:{'name': 'Alice', 'age': 26, 'gender': 'Female'}
removed_value = my_dict.pop("age")
print(removed_value) # 输出:26
print(my_dict) # 输出:{'name': 'Alice', 'gender': 'Female'}
my_dict = {"name": "Alice", "age": 26, "gender": "Female"}
removed_item = my_dict.popitem()
print(removed_item) # 输出:('gender', 'Female')
print(my_dict) # 输出:{'name': 'Alice', 'age': 26}
for key in my_dict.keys():
print(key)
# 输出:
# name
# age
for value in my_dict.values():
print(value)
# 输出:
# Alice
# 26
for key, value in my_dict.items():
print(f"{key}: {value}")
# 输出:
# name: Alice
# age: 26
print("name" in my_dict) # 输出:True
print("city" in my_dict) # 输出:False
清空字典
my_dict.clear()
print(my_dict) # 输出:{}
创建字典的浅拷贝
my_dict = {"name": "Alice", "age": 26}
new_dict = my_dict.copy()
print(new_dict) # 输出:{'name': 'Alice', 'age': 26}
更新字典
my_dict = {"name": "Alice", "age": 25}
my_dict.update({"age": 26, "city": "New York"})
print(my_dict) # 输出:{'name': 'Alice', 'age': 26, 'city': 'New York'}
设置默认值
my_dict = {"name": "Alice", "age": 25}
my_dict.setdefault("city", "New York")
print(my_dict) # 输出:{'name': 'Alice', 'age': 25, 'city': 'New York'}
squares = {x: x * x for x in range(1, 6)}
print(squares) # 输出:{1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
dict1 = {"a": 1, "b": 2}
dict2 = {"b": 3, "c": 4}
dict1.update(dict2)
print(dict1) # 输出:{'a': 1, 'b': 3, 'c': 4}
print(len(my_dict)) # 输出:3
字典是 Python 中非常强大的数据结构,适用于存储键值对数据。掌握这些常用操作可以帮助你高效地使用字典来处理各种数据。如果你有更具体的问题或需要进一步的示例,请随时告诉我!